使用WindowsAPI實現(xiàn)播放PCM音頻的方法
本文介紹了使用WindowsAPI實現(xiàn)播放PCM音頻的方法,同前面一篇使用WindowsAPI獲取錄音音頻的方法原理具有相似之處,這里就不再詳細介紹具體的函數(shù)與結(jié)構(gòu)體的參數(shù),相同的部分加以省略,只介紹主要的功能部分代碼。如下所示:
1. waveOutGetNumDevs
2. waveOutGetDevCaps
3. waveOutOpen
回調(diào)函數(shù):
void CALLBACK PlayCallback(HWAVEOUT hwaveout, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);
4. waveOutPrepareHeader
5. waveOutWrite:執(zhí)行后立即開始播放,當(dāng)前緩沖區(qū)播放完成會調(diào)用回調(diào)函數(shù)
這里需要注意:
為了能夠?qū)崿F(xiàn)連續(xù)播放效果,在第4部需要準(zhǔn)備兩個或兩個以上的播放數(shù)據(jù)。
感興趣的朋友可以對比前面的文章手動調(diào)試一下本文所述實例。
相關(guān)文章
C++中用substr()函數(shù)消除前后空格的解決方法詳解
本篇文章是對C++中用substr()函數(shù)消除前后空格的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05使用VScode搭建ROS開發(fā)環(huán)境的教程詳解
這篇文章主要介紹了使用VScode搭建ROS開發(fā)環(huán)境,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08C++11正則表達式詳解(regex_match、regex_search和regex_replace)
正則表達式(regular expression)是計算機科學(xué)中的一個概念,又稱規(guī)則表達式,下面這篇文章主要介紹了C++11正則表達式(regex_match、regex_search和regex_replace)的相關(guān)資料,需要的朋友可以參考下2022-09-09