众所周知,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/