- 6
- 0
- 约1.36万字
- 约 9页
- 2021-10-24 发布于福建
- 举报
附录九 简易的 MIDI/W AV/MP3 播放器
MCI(Media Control Interface) 是 Windows 提供的控制多媒体设备的高层、通用的命令接口。它提供
一组与设备无关的函数和命令, 可有效地控制多媒体设备。 使用 MCI我们可以十分容易的对多媒体进行操
作,不需要了解多媒体设备的工作原理和调用底层函数库的方法, 这样就极大的减轻了开发的难度和负担。
这里举一个 WAV/MIDI 播放器的小例子,希望以后能用到。
1. 首先建立一个基于对话框的工程 MyMCI,在对话框添加 7 个按钮,按钮 ID 分别为 ID_OPEN、 ID_PLAY、
ID_PAUSE、ID_PREVIOUS、ID_NEXT、 ID_STOP、 ID_EXIT, 另外加一个 Slider 控件。
2. 为 CMyMCIDlg类加入成员变量:
CString strFileExt;
DWORD dCurrentPosition;
unsigned long m_dLength;
bool isPause;
WORD m_wDeviceID;
CString strFileName;
3. 给 Slider 控件添加成员变量 m_position
4. 各个按钮的消息相应函数代码如下
void CMyMCIDlg::OnMciOpen()
{
// TODO: Add your control notification handler code here
CFileDialog file(TRUE,,,OFN_FILEMUSTEXIST,*.mid,*.wav 及 mp3文件 |*.mid;*.wav;*.mp3|
所有文件 |*.*|);
if (file.DoModal()==IDOK)
{
strFileName=file.GetFileName();
strFileExt=file.GetFileExt();
}
this - SetWindowText( 请单击 Play 按钮 , 欣赏 +strFileName);
}
void CMyMCIDlg::OnMciPlay()
{
isPause=true;
SetTimer(1,33,NULL);
mciSendCommand(m_wDeviceID,MCI_CLOSE,0,NULL);
MCI_OPEN_PARMS mciOpen;
MCI_PLAY_PARMS mciPlay;
mciOpen.lpstrElementName=strFileName.GetBuffer(strFileName.GetLength());
mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT,(DWORD)(LPVOID)mciOpen);
m_wDeviceID=mciOpen.wDeviceID;
MCI_STATUS_PARMS mciStatusParms;
mciStatusParms.dwItem=MCI_STATUS_LENGTH;
mciSendCommand(m_wDeviceID,MCI_STATUS,MCI_WAIT|MCI_STATUS_ITEM,(DWORD)(LPVOID)mciStatu
sParms);
m_dLength=mciStatusParms.dwReturn;
mciSendCommand(m_wDeviceID,MCI_PLAY,0,(DWORD)(LPVOID)mciPlay);
m_position.SetRange(0,m_dLength);
m_position
您可能关注的文档
最近下载
- PV3930- 氙灯老化试验标准.pdf VIP
- 2025年《反不正当竞争法》市场混淆行为案例分析及答案.docx
- 十堰教师招聘真题2023.docx VIP
- 动力工程及工程热物理专业英语.ppt VIP
- 自来水厂环评:清镇市莲花山自来水厂新建工程-迎燕水库配套水厂工程项目环评(2021年新版环评)环境影响报告表.pdf VIP
- 2025春人教版数学七下《第七章 数学活动》新版课件(23页).pptx VIP
- 工程项目标准化管理体系及措施要求.docx VIP
- 23S516混凝土排水管道基础及接口图集.pdf VIP
- 宪法学(第二版)(马克思主义理论研究和建设工程重点教材)课件第4章国家性质和国家形式.pptx VIP
- 中国旅游文化(全套课件).ppt VIP
原创力文档

文档评论(0)