1

我即将开始为 Minix 3(C 语言)开发一个项目。

我的想法是创建某种音乐播放器。我希望能够读取文件 (WAV),然后将它们转换为发送到 Timer 2 的频率流。据我所知,没有简单的方法可以读取真正的音乐文件,我想接​​近块中的真实频率,发送到定时器 2 的简单单声道曲线。好的,问题:

  1. 我阅读并学习了如何读取 wav 标头,但是,我在任何地方都找不到数据块中数据的含义。我应该如何解释它?

  2. 我最初的想法是做一个真正的音乐播放器,但是,在我的课堂上,我们没有学习如何使用 Minix 3 中的音板。有一些教程,我可以学习吗?

  3. 据我所知,C 已经是一个管理声音(BASS)的库。可以以及如何在 Minix 3 中安装它?

  4. 最后,这是一种让这一切变得更简单的方法吗?

4

1 回答 1

0

WAV 文件不是“频率流”。它包含一系列根据标题中写入的信息格式化的样本。

在最好的情况下,您只需将声卡设置为处理标头中指定的数据格式,然后您只需继续将“DATA”块中的原始数据提供给声卡数据缓冲区。

在 Minix 3 中如何做到这一点超出了这个答案的范围(我只是不知道 Minix 是如何处理声音的),但我相信这将对理解数字音频的基础知识有很大帮助。

于 2012-02-03T15:30:13.487 回答