用汇编构建音乐播放器

时间:2010-05-20 10:46:49

标签: assembly nasm audio-player

是否有可能在组装中构建音乐播放器(我正在考虑沿着NASM的路线)?在构建一个过程中可能面临的障碍是什么?

4 个答案:

答案 0 :(得分:2)

有可能 - 装配中一切皆有可能。

主要问题是动机 - 汇编不是最有效的环境,所以真的必须要在开始之前在汇编中构建一些东西。

答案 1 :(得分:1)

很可能。主要的障碍是链接到所选择的api,虽然我不明白为什么它会过于困难。

答案 2 :(得分:1)

是的,确实如此。您可以使用OS API和/或声音库,这将是毫无意义的,所以我假设您想要了解声音是如何被计算机硬件编码和实现的。

基本上声卡需要一个值流(类似于每秒48000,它随声音质量而变化),表示当时扬声器振膜的目标位置。

WAV文件只是将这些数字存储在一个文件中。这占用了大量空间。

MP3,OGG等将数学变换应用于数据,以减少所需的空间量:

  • 降低人类听力不太敏感的频率精度
  • 压缩重复音频

要真正“实现”整个音乐播放的东西,您需要解码音频文件,并配置声音硬件并将数据流写入其中。可以做到:))

答案 3 :(得分:0)

这是可能的,但代码会因您想要支持的操作系统而异(例如,Windows代码与Linux代码完全不同)。

最简单的情况可能是在Windows下播放MIDI和/或WAV文件的程序(它已经直接支持它,所以你大多只是告诉它要播放什么文件并从那里处理事情)。

在汇编中编写像你自己的MP3解码器这样的东西会更具挑战性 - 坦率地说,你必须真正狂热关于汇编语言的范围才能认真考虑