c - 在 C 中的 OpenAL 中播放频率

标签 c audio openal

我正在尝试编写一个程序来播放某个频率一段时间。我找不到任何简单地播放特定频率的方法。我该如何在 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/

相关文章:

c++ - 有没有什么好的 C/C++ 开源 BDD 工具?

java - 无法启用 JNI 调试器

c# - 在C#中播放音频时调整平衡

c - 如何在C中进行声音合成?

multithreading - 从后台线程播放 OpenAL 声音

ios - CAKeyframeAnimation 中的关键帧是否总是准确命中?

c - lua 5.2 C api 中的语法更改

c - char s []和char * s有什么区别?

java - 从JAR执行时,项目无法读取.wav文件

IOS 8 : Real Time Sound Processing and Sound Pitching - OpenAL or another framework