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/

相关文章:

ios - 快速键盘听不到输入声音

opengl - 在 Ubuntu 中安装 OpenGL 和 OpenAL

c++ - 使用 OpenAL(C++) 录制声音。缓冲区大小

c - 什么是 C 中的 "packed"结构?

java - 为什么音频文件听起来不同?

c - `({...})` 是如何返回值的?

ios - 从视频文件中删除音频

c++ - 使用 OpenAL 和 C++ 同步音频和视频播放

检查 argc 的值

C 程序显示不正确的结果