目录
音频播放
音频播放这里提供两种方式,直接播放音频文件和播放音频流的方式,可以根据实际情况选择使用方法
播放MP3与wav文件
操作步骤包括,装载文件,播放,暂停,恢复,停止
- 装载文件
int Load(HWND hWnd, CString strFilepath)
{
m_hWnd = hWnd;
DWORD dwReturn;
mciSendCommand(DeviceID, MCI_CLOSE, 0, 0);//在加载文件前先清空上一次播放的设备
mciopenparms.lpstrElementName = strFilepath;//将音乐文件路径传给设备
mciopenparms.lpstrDeviceType = _T("mpegvideo");
if (dwReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_OPEN_TYPE, (DWORD_PTR)&mciopenparms))
{
//如果打开文件失败,则将出错信息储存在buffer,并显示出错警告
CString s;
s.Format(_T("error:%d!"), dwReturn);
MessageBox(hWnd, s, _T("player"), MB_OKCANCEL);
}
DeviceID = mciopenparms.wDeviceID;
return dwReturn;
}
- 播放
void play()
{
MCI_PLAY_PARMS mciplayparms;
mciplayparms.dwCallback = (DWORD)m_hWnd;
mciplayparms.dwFrom = 0;//每次播放都是从0开始播放 dwFrom用于设置音乐播放的起始位置
mciSendCommand(DeviceID, MCI_PLAY, MCI_FROM | MCI_NOTIFY, (DWORD_PTR)&mciplayparms);//dwCallback与MCI_NOTIFY是配对出现的
}
- 暂停
void

本文详细介绍音视频编程技术,包括MP3与WAV文件播放、音频流处理、录音、PCM及WAV格式存储。涵盖播放控制、音量设置、音频数据推送、录音实体管理等关键操作。

2611

被折叠的 条评论
为什么被折叠?



