使用WindowsAPI实现播放PCM音频的方法

Posted DoubleLi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用WindowsAPI实现播放PCM音频的方法相关的知识,希望对你有一定的参考价值。

这篇文章主要介绍了使用WindowsAPI实现播放PCM音频的方法,很实用的一个功能,需要的朋友可以参考下

本文介绍了使用WindowsAPI实现播放PCM音频的方法,同前面一篇使用WindowsAPI获取录音音频的方法原理具有相似之处,这里就不再详细介绍具体的函数与结构体的参数,相同的部分加以省略,只介绍主要的功能部分代码。如下所示:

1. waveOutGetNumDevs

2. waveOutGetDevCaps

3. waveOutOpen

回调函数:

1
void CALLBACK PlayCallback(HWAVEOUT hwaveout, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);

4. waveOutPrepareHeader

5. waveOutWrite:执行后立即开始播放,当前缓冲区播放完成会调用回调函数

这里需要注意:

为了能够实现连续播放效果,在第4部需要准备两个或两个以上的播放数据。
感兴趣的朋友可以对比前面的文章手动调试一下本文所述实例。

以上是关于使用WindowsAPI实现播放PCM音频的方法的主要内容,如果未能解决你的问题,请参考以下文章

(原)hisi3531立体声pcm实现播放方式

如何播放 PCM-24 音频?

使用 AudioQueue 播放 PCM 音频流音量低

VLC如何在普通PC上播放24位PCM音频?

流媒体开发16SDL-PCM播放

流媒体开发16SDL-PCM播放