如何修复SDL混合器“不支持的块对齐”错误?

问题描述

我正在使用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文件进行了重新编码,并且在此之后似乎奏效了。