我想知道 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/