我正在尝试编写一个程序来播放某个频率一段时间。我找不到任何简单地播放特定频率的方法。我该如何在 OpenAL 中执行此操作?
最佳答案
我最终找到了一个关于正确读取 WAV 文件 ( huge credit to this video ) 以及如何格式化 WAV 文件 ( explained here in detail ) 的视频,并做了一些反复试验工作,直到我弄清楚如何去做。我想如果我可以制作一个包含频率的 WAV 样式文件并手动设置 OpenAL 缓冲区和源,那么它就可以工作。
当我发现格式与the first explanation of WAV file format不同时,我遇到了一些麻烦。我发现,有些人显然有additional meta-data ,当我尝试加载 WAV 文件时,我必须测试并跳过它。然后我制作了一个包含频率的 WAV 文件并播放它,效果正如我所希望的那样。
Here's another article关于位深度的工作原理确实帮助我理解了我在做什么。
希望这对尝试做类似事情的其他人有帮助!
关于c - 在 C 中的 OpenAL 中播放频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53237484/