在调用MC设备时可用 mciGetErrorString0检 测错误,该函数的原型如下 BOOL mciGetErrorString dWORD fdw Error,‖错误代码 LPTSTR IpszErrorText,指向错误内容字串的指针 UINT cch ErrorText错误内容的缓冲区容量
6 在调用MCI设备时可用mciGetErrorString()检 测错误,该函数的原型如下: BOOL mciGetErrorString( DWORD fdwError, //错误代码 LPTSTR lpszErrorText, //指向错误内容字串的指针 UINT cchErrorText //错误内容的缓冲区容量 )
例12-2】编写一个音频播放器程序,可以选 择音频文件,并控制其播放、暂停播放、暂 停后的继续播放以及停止播放的功能 MCIPlayer x IDC OPEN BUTTON DC CLOSE BUTTON 打开文件 关闭文件 IDC_START_BUTTON IDC__PAUSE_BUTTON IDC STOP BUTTON 播放 暂停/继续 停止 IDC EXIT BUTTON 且出
7 【例12-2】编写一个音频播放器程序,可以选 择音频文件,并控制其播放、暂停播放、暂 停后的继续播放以及停止播放的功能 IDC_OPEN_BUTTON IDC_CLOSE_BUTTON IDC_START_BUTTON IDC_PAUSE_BUTTON IDC_STOP_BUTTON IDC_EXIT_BUTTON
1.将头文件 mmsystem加入到文件Stax.h中, 将多媒体函数库 winmm. lib通过 project菜单中的 setings命令来与程序链接起来 2在cMc| PlayerDIg类上增加 Protected类型的成员变量, 具体如下 BOOL m_ SIgn(作为判断正在播放的标识) BOOL m ASign(作为判所正在播放的标识) dWoRd dwError(用来储存错误代码)、 MC DEVICED m MC/Device/D(用来储存打开设备D值) charszErrorBufMAXERRORLENGTH(用来估存出错内容)
8 1. 将头文件mmsystem.h加入到文件Stdafx.h中, 将多媒体函数库winmm.lib通过project菜单中的 seetings命令来与程序链接起来 2.在CMCIPlayerDlg类上增加Protected类型的成员变量, 具体如下: BOOL m_PSign(作为判断正在播放的标识) BOOL m_ASign(作为判断正在播放的标识)、 DWORD dwError(用来储存错误代码)、 MCIDEVICEID m_MCIDeviceID(用来储存打开设备的ID值) charszErrorBuf[MAXERRORLENGTH](用来储存出错内容)
BOOL CMCIPlayerDlg: OnInitDialogO t CDialog: OnInitDialog(; l TODO: Add extra initialization here m_SIgn= FALSE;∥初始化正在播放标识 m_ ASign= FALSE;∥初始化正在暂停标识 m MC Device/D=0;∥初始化设备标识 return TRUE:
9 BOOL CMCIPlayerDlg::OnInitDialog() { CDialog::OnInitDialog(); … // TODO: Add extra initialization here m_PSign=FALSE; //初始化正在播放标识 m_ASign=FALSE; //初始化正在暂停标识 m_MCIDeviceID=0; //初始化设备标识 return TRUE; }
void CMCIPlayerDlg: OnOpen Button(∥打开一个文件 CString filename;∥定义 CString类 filename用来存角文件名 CString fileext;∥定义 CString类的hiet用来存文件扩展名 MCI_OPEN_PARMS mciOpenParms/足定义结构体变量用来存储打 开文件的信息和返回的设备标识信息 DWORD dwError;∥定义 erRor用来储存返回的错误标识 static char szFilter="波形音频文件Wa*WaMD序列mi*mi0 C Fi/ e D i a g dIg(TRUE, NULL, NULL, OFN_HIDEREADONLYOFN_OVERWRITEPROMPTszFilter) ∥通过打开按钮时显示的内容
10 void CMCIPlayerDlg::OnOpenButton() //打开一个文件 { CString filename; //定义CString类的filename用来存储文件名 CString fileext; //定义CString类的fileext用来存储文件扩展名 MCI_OPEN_PARMS mciOpenParms;//定义结构体变量用来存储打 开文件的信息和返回的设备标识信息 DWORD dwError; //定义dwError用来储存返回的错误标识 static char szFilter[]="波形音频文件(*.wav)|*.wav|MIDI序列(*.mid)|*.mid\0"; C F i l e D i a l o g dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter); //通过打开按钮时显示的内容