C++ 和阿尔萨玩wavs。确定帧数?

C++ 和阿尔萨玩wavs。确定帧数?,c++,wav,alsa,C++,Wav,Alsa,我试图在阿尔萨打wav,但失败了。它打球,但要么太短,要么太早打球;要么太大,要么失误。。。全部取决于第81行上该函数的最后一个参数。 您确定您的wav文件的格式符合代码的要求吗?您的wavHeader结构对正在播放的wav文件做了一些假设——它不能处理所有的wav文件(当然不能处理我尝试过的那些文件)。在读取Subchunk2Size时,完全可能得到错误的值。您的代码只适用于wav文件格式的一个非常特定的变体。您是否调试它以定位SEGFULT?听起来像是未定义的行为…当我设置帧>缓冲区长度时,

我试图在阿尔萨打wav,但失败了。它打球,但要么太短,要么太早打球;要么太大,要么失误。。。全部取决于第81行上该函数的最后一个参数。

您确定您的wav文件的格式符合代码的要求吗?您的wavHeader结构对正在播放的wav文件做了一些假设——它不能处理所有的wav文件(当然不能处理我尝试过的那些文件)。在读取Subchunk2Size时,完全可能得到错误的值。您的代码只适用于wav文件格式的一个非常特定的变体。

您是否调试它以定位SEGFULT?听起来像是未定义的行为…当我设置帧>缓冲区长度时,会出现SEGFULT。我讨厌ALSA,很抱歉你不得不处理它。