众所周知,Windows API PlaySound()不允许播放24位.wav文件。

在Windows平台上用C / C++播放24位.wav文件的最短方法是什么?

(如果可能,不需要第三方库)

最佳答案

您也许可以使用 mciSendString ,但是我不确定它是否可以播放24位WAV文件,以及它是否可以满足平台要求。

MCI与使用mciSendString发送的简单字符串命令一起使用。要打开一个文件并播放它(为简便起见,省略了错误检查):

mciSendString("open \"C:\\My Folder\\Sample.wav\" type waveaudio alias sampleSound", NULL, 0, NULL);
mciSendString("play sampleSound from 0", NULL, 0, NULL);

请注意,alias sampleSound是您为打开的资源提供的自定义名称,因此您以后可以引用它。您可以使用字符串"close sampleSound"关闭资源,还有许多其他命令和选项可以控制播放。

如果这不起作用,那么最好的选择是使用DirectShow,它可以使用系统上安装的所有DirectShow过滤器进行播放。这样的答案Use Windows built in MP3 decoder to play audio?给出了示例代码。

关于c - 轻松播放24位.wav音频文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23831648/

10-09 23:52
查看更多