问题描述
我正在使用SDL2和SDL混合器库来尝试播放WAV文件。调用Mix_LoadWAV_RW
函数之后,我得到以下错误字符串:"Unsupported block alignment"
如果很重要,我会注意到我是通过在WAV上调用*SDL_RWops
来获得SDL_RWFromMem
的我已将我的文件作为字节数组嵌入到我的源代码中。也就是说,前几个字节是包含文本“ RIFF:和” WAVE”的WAV标头。
我猜这意味着我需要将WAV文件重新编码为具有受支持的块对齐方式的子格式,但这主要是猜测。考虑到我的猜测,似乎我需要知道支持哪些块对齐方式。我无法在docs中找到有关支持哪些对齐方式的任何相关信息。
我也尝试在github mirror of the source code for SDL mixer上搜索"Unsupported block alignment",但是没有得到任何结果。这是否意味着错误是由于SDL mixer的某种依赖性引起的?
有人知道更多关于此错误的信息吗,在哪里可以找到有关此错误的更多信息,甚至可以合理猜测我应该如何更改WAV文件以在此处工作?
解决方法
作为记录,我最终只是使用Audacity中的默认设置对WAV文件进行了重新编码,并且在此之后似乎奏效了。