audio - 如何修复SDL混合器 “Unsupported block alignment”错误?

标签 audio wav sdl-2 playback sdl-mixer

我正在使用SDL2和SDL混合器库来尝试播放WAV文件。调用 Mix_LoadWAV_RW 函数后,我得到以下错误字符串:"Unsupported block alignment"如果很重要,我会注意到我是通过将WAV文件上的*SDL_RWops调用(以字节数组形式嵌入到我的源代码中)来获得SDL_RWFromMem的。即,前几个字节是包含文本“RIFF:和” WAVE”的WAV header 。
我猜这意味着我需要将WAV文件重新编码为具有受支持的块对齐方式的子格式,但这主要是猜测。考虑到我的猜测,似乎我需要知道支持哪些块对齐方式。我在docs中找不到有关支持的对齐方式的任何相关信息。
我也尝试在github mirror of the source code for SDL mixer中搜索"Unsupported block alignment",但没有得到任何结果。这是否意味着该错误是由于SDL Mixer的某种依赖性引起的?
有谁知道关于此错误的更多信息,在哪里可以找到有关此错误的更多信息,甚至可以合理猜测我应该如何更改WAV文件以在此处工作?

最佳答案

作为记录,我最终只是使用Audacity中的默认设置对WAV文件进行了重新编码,并且此后似乎仍然有效。

关于audio - 如何修复SDL混合器 “Unsupported block alignment”错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63974048/

相关文章:

audio - 在 .wav 文件和十六进制编辑器中查找样本数

android - 未找到 int org.libsdl.app.SDLActivity.nativeSetupJNI() 的实现

qt - 为什么麦克风关闭时基本频率和幅度不为零?

c++ - 完成IWavePlayer NAudio c++

c# - 从多个源接收音频数据并将它们合并到波形文件中

video - beaglebone black是否支持gpu硬件加速?

linux - 如何在您的程序 (Linux) 中包含 SDL。对 SDL_Init() 的 undefined reference

ios - Swift:在设备上保存音频的时间是原来的 2 倍,更大

c# - 在C#中从youtube视频中提取mp3音频文件

C、Wav 文件 block 大小问题