全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机与信息技术学院设计性实验报告专业: 年级/班级: 20102011学年第二学期课程名称多媒体技术指导教师本组成员学号姓名实验地点实验时间项目名称利用MCI在VC+环境下设计一个播放器实验类型设计性一、 实验目的:熟悉MCI,并能利用MCI编程在visual c+环境设计出一个音乐播放器,掌握使用高级语言进行多媒体编程的功能。二、 实验仪器或设备:一台安装有visual c+的计算机。三、 总体设计(设计原理、设计方案及流程等): 在visual c+环境下设计出一个音乐播放器的界面:具有打开、播放,前进、后退、暂停或继续、停止的功能; 修改各个控件的属性,并为其添加代码;对该音乐播放器编译-运行。四、 实验步骤(包括主要步骤、代码分析等)(一):创建MFC应用程序:打开visual c+软件,选择“文件”“新建”新建一个应用程序文档MFC AppWizardexe,将工程命名为player。(二)编辑对话框:在工作区内,设计出一个音乐播放器的界面,添加按钮控件:打开、播放,前进、后退、暂停或继续、停止,后再添加一个滑动条控件。(三)为各个控件依次添加以下对应的代码:void CMusicplayerDlg:OnBUTTONOpen() CFileDialog file(TRUE, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_FILEMUSTEXIST, Wave Audio(*.wav)|*.wav|MIDI(*.mid)|*.mid|mp3(*.mp3)|*.mp3|所有文件(*.*)|*.*|);if(file.DoModal() = IDOK)strFileName = file.GetPathName();strFileExt = file.GetFileExt();void CMusicplayerDlg:OnBUTTONPlay() bPause = TRUE; /初始化SetTimer(1, 33, NULL); /为滑动条启动定时器,频繁发送定时消息mciSendCommand(m_wDeviceID, MCI_CLOSE, NULL, NULL); /保证总是重新播放 /打开设备MCI_OPEN_PARMS mciOpen;mciOpen.lpstrElementName = strFileName.GetBuffer(strFileName.GetLength();mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT, (DWORD)&mciOpen); /发送打开相关设备的命令/检测播放总长度 m_wDeviceID = mciOpen.wDeviceID; /得到打开的设备的IDMCI_STATUS_PARMS mciStatusParms;mciStatusParms.dwItem = MCI_STATUS_LENGTH;mciSendCommand(m_wDeviceID, MCI_STATUS, MCI_WAIT|MCI_STATUS_ITEM, (DWORD)&mciStatusParms); /发送状态命令m_lLength = mciStatusParms.dwReturn;/播放设备MCI_PLAY_PARMS mciPlay;mciSendCommand(m_wDeviceID, MCI_PLAY, NULL, (DWORD)&mciPlay);/滑动还原到最左端m_pSlider-SetRange(0, m_lLength); /设置滑动条范围m_pSlider-SetPos(0); /播放时滑动条总是在最左端void CMusicplayerDlg:OnBUTTONPrevious () bPause = TRUE; /记录当前位置MCI_STATUS_PARMS mciStatusParms;mciStatusParms.dwItem = MCI_STATUS_POSITION; mciSendCommand(m_wDeviceID, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)&mciStatusParms); dCurrentPosition = mciStatusParms.dwReturn; /取得当前位置的信息MCI_PLAY_PARMS mciPlayParms;if(dCurrentPosition = (m_lLength / 16) /当前位置不足一个后退步/发送后退到文件开始点的命令mciSendCommand(m_wDeviceID, MCI_SEEK, MCI_SEEK_TO_START, NULL); mciSendCommand(m_wDeviceID, MCI_PLAY, NULL, (DWORD)&mciPlayParms);else /当前位置满足后退一步尚有余/从当前位置减小十六分之一的长度mciPlayParms.dwFrom = dCurrentPosition - (DWORD)(m_lLength / 16);/发送从指定位置开始播放的命令mciSendCommand(m_wDeviceID, MCI_PLAY, MCI_FROM, (DWORD)&mciPlayParms);void CMusicplayerDlg:OnBUTTONNext () bPause = TRUE; /记录当前位置MCI_STATUS_PARMS mciStatusParms; mciStatusParms.dwItem = MCI_STATUS_POSITION; mciSendCommand(m_wDeviceID, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)&mciStatusParms); dCurrentPosition = mciStatusParms.dwReturn; /取得当前位置的信息MCI_PLAY_PARMS mciPlayParms;if(m_lLength - dCurrentPosition) SetPos(0); /将滑动条放在最左端void CMusicplayerDlg:OnTimer(UINT nIDEvent) MCI_STATUS_PARMS mciStatusParms;mciStatusParms.dwItem = MCI_STATUS_POSITION; mciSendCommand(m_wDeviceID, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)&mciStatusParms); dCurrentPosition = mciStatusParms.dwReturn; /取得当前位置的信息m_pSlider-SetPos(dCurrentPosition); /频繁设置滑动条位置(每次定时消息一到)CDialog:OnTimer(nIDEvent);(四)编译、链接并运行程序:选择菜单栏Bulid下的compile-bulid-execute对程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省丽水市2025年数学高一上期末经典模拟试题含解析
- 河南省林州一中分校2025-2026学年高一化学第一学期期中达标测试试题含解析
- 社会服务行业需求分析
- 土工布等效孔径试验记录
- 石灰细度试验记录
- 昆明理工大学信息工程与自动化学院导师
- 汉语言文学论文格式范本
- 硕士论文送审评审意见范文
- 论文格式的行距
- 铁路物流建设项目碳减排测算标准
- 大众汽车新项目开发流程
- DL∕T 5161.5-2018 电气装置安装工程质量检验及评定规程 第5部分:电缆线路施工质量检验
- DL∕T 5106-2017 跨越电力线路架线施工规程
- DL∕T 2561-2022 立式水轮发电机状态检修评估技术导则
- AQ 1020-2006 煤矿井下粉尘综合防治技术规范(正式版)
- 零部件试验报告模板
- MOOC 健美操-华中农业大学 中国大学慕课答案
- 全国初级注册安全工程师职业资格考试辅导教材安全生产法律法
- 大班科学《各种各样的飞机》教案
- 药店执业培训与职业道德
- 四川省南江县光雾山旅游发展最终策划方案
评论
0/150
提交评论