在 C 中的 OpenAL 中播放频率

Playing a Frequency in OpenAL in C

我正在尝试编写一个程序来播放一段时间的频率。我找不到任何简单地播放特定频率的方法。我如何在 OpenAL 中执行此操作?

我最终找到了一个关于正确阅读 WAV 文件的视频 (huge credit to this video) and how a WAV file is formatted (explained here in detail) 并进行了一些反复试验,直到我弄清楚如何去做。我想如果我可以制作一个包含频率的 WAV 样式文件并手动设置 OpenAL 缓冲区和源,它就可以工作。

当我发现格式与 the first explanation of WAV file format I found, as some apparently have additional meta-data 不同时,我 运行 遇到了一些麻烦,我必须测试并在尝试加载 WAV 文件时跳过它。然后我制作了一个包含频率的 WAV 文件并播放了它,效果和我希望的一样好。

Here's another article 关于位深度的工作原理,真正帮助我理解了我在做什么。

希望这可以帮助任何正在尝试做类似事情的人!