c - SDL_Mixer 设置声音位置

标签 c audio skip sdl-mixer

我想知道 SDL_Mixer 库中是否有跳转到 wav 文件中特定位置的功能。我发现有一个名为 Mix_SetMusicPosition 的函数,但它不适用于 .wav 文件,也不允许您选择 channel 。 任何建议将不胜感激。

编辑: 我想出了怎么做。我没有调用其他函数,而是更改了位于 Mix_Chunk 结构中的 abuf 变量的起始指针。我计算了以 44khz 播放的 16 位 .wav 文件中每秒有多少字节,并将 abuf 的起始指针更改为该数字乘以我想要的秒数跳过。然后改变 alen 的长度,也是位于 Mix_Chunk 结构中的一个变量,具有相同的字节数。

最佳答案

我刚刚阅读了 SDL Music 的文档,显然 Mix_SetMusicPosition 仅支持 OGG、MP3 和 MOD 文件。

链接:http://jcatki.no-ip.org:8080/SDL_mixer/SDL_mixer_65.html#SEC65

显而易见的解决方案;转换你的 wav。将文件转换为您最喜欢的前面提到的文件格式。

关于c - SDL_Mixer 设置声音位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14691530/

相关文章:

c++ - Makefile 隐式规则不起作用

c - K&R 查表代码

mysql - 为什么 MongoDB 的 skip() 这么慢不好用,而 MySQL 的 LIMIT 这么快?

Java 8 流 : difference between limit() and skip()

excel - 如果内容的总和 = 零并跳过空白,我如何隐藏 Excel 行?

c - C 中的预期标识符

C在字符串末尾添加十六进制NUL而不消失

javascript - 使用不同的浏览器通过 getUserMedia 获得一致的音频质量

audio - 飞利浦CELP文件

algorithm - WinRar 使用了哪种数据压缩算法?