SDL_Mixer 设置声音位置
Posted
技术标签:
【中文标题】SDL_Mixer 设置声音位置【英文标题】:SDL_Mixer set sound position 【发布时间】:2013-02-04 16:57:04 【问题描述】:我想知道SDL_Mixer
库中是否有一个功能可以跳到 wav 文件中的某个位置。我发现有一个名为Mix_SetMusicPosition
的函数,但它不适用于.wav
文件,并且它不会让您选择频道。
任何建议将不胜感激。
编辑:
我想出了怎么做。我没有调用其他函数,而是更改了位于Mix_Chunk
结构中的abuf
变量的起始指针。我计算了以 44khz 播放的 16 位 .wav
文件中每秒有多少字节,并将 abuf
的起始指针更改为该数字乘以我想跳过的秒数。然后改变alen
的长度,同样是位于Mix_Chunk
结构中的变量,字节数相同。
【问题讨论】:
如果您将编辑更改为带有小代码示例的答案,则对网站更有帮助。 【参考方案1】:我刚刚阅读了 SDL Music 的文档,显然 Mix_SetMusicPosition 仅支持 OGG、MP3 和 MOD 文件。
链接:http://jcatki.no-ip.org:8080/SDL_mixer/SDL_mixer_65.html#SEC65
明显的解决方案;转换你的 wav。文件转换为您之前提到的最喜欢的文件格式。
【讨论】:
是的,我也发现了这个功能,但是由于我正在使用频道并且Mix_SetMusicPosition
不支持我想知道是否还有其他隐藏的功能。不过感谢您的努力!以上是关于SDL_Mixer 设置声音位置的主要内容,如果未能解决你的问题,请参考以下文章
如何像 SDL_Mixer 那样播放多种声音,但在 SDL2 中是原生的?
c++ SDL_mixer 错误,Mix_LoadWAV_RW with NULL src