資源簡介
pcm格式是音頻非壓縮格式。如果要對音頻文件播放,需要先轉(zhuǎn)換為pcm格式。
windows提供了多套函數(shù)用于播放,本文介紹Waveform Audio Functions系列函數(shù)。
原始的播放函數(shù)比較難用,因工作需要,我寫了一個播放器,將播放相關(guān)函數(shù)封裝了;非常好用,還不易出錯。
代碼片段和文件信息
#include?“stdafx.h“
#include?“PcmPlay.h“
CPcmPlay::CPcmPlay()
{
m_hWaveOut?=?NULL;
m_totalPlayBuffer?=?0;
}
CPcmPlay::~CPcmPlay()
{
Close();
}
BOOL?CPcmPlay::IsOpen()
{
return?(m_hWaveOut?!=?NULL);
}
BOOL?CPcmPlay::Open(int?nSamplesPerSecint?wBitsPerSampleint?nChannels)
{
if?(IsOpen())
return?FALSE;
{
CCriticalLock??lock(m_listLock);
m_listWaveOutHead.clear();
}
m_totalPlayBuffer?=?0;
m_waveForm.nSamplesPerSec?=?nSamplesPerSec;?/*?sample?rate?*/
m_waveForm.wBitsPerSample?=?wBitsPerSample;?/*?sample?size?*/
m_waveForm.nChannels?=?nChannels;?/*?channels*/
m_waveForm.cbSize?=?0;?/*?size?of?_extra_?info?*/
m_waveForm.wFormatTag?=?WAVE_FORMAT_PCM;
m_waveForm.nBlockAlign?=?(m_waveForm.wBitsPerSample?*?m_waveForm.nChannels)?>>?3;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1386??2018-10-26?15:46??PcmPlay.h
?????文件????????4722??2018-10-26?15:46??PcmPlay.cpp
- 上一篇:Fluck8845a的指令程序C++源碼
- 下一篇:c++數(shù)獨小游戲
評論
共有 條評論