资源简介

pcm格式是音频非压缩格式。如果要对音频文件播放,需要先转换为pcm格式。 windows提供了多套函数用于播放,本文介绍Waveform Audio Functions系列函数。 原始的播放函数比较难用,因工作需要,我写了一个播放器,将播放相关函数封装了;非常好用,还不易出错。

资源截图

代码片段和文件信息

#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

评论

共有 条评论