收藏 分销(赏)

实验1多媒体播放器的设计.doc

上传人:精*** 文档编号:2269317 上传时间:2024-05-24 格式:DOC 页数:10 大小:351.04KB 下载积分:8 金币
下载 相关 举报
实验1多媒体播放器的设计.doc_第1页
第1页 / 共10页
实验1多媒体播放器的设计.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
实验1多媒体播放器的设计 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 10 个人收集整理 勿做商业用途 实验1 基于MFC的多媒体播放器的设计与实现 一、 实验目的: 利用MFC在VC++或其它语言环境下设计一个多媒体播放器,进一步熟悉与掌握多媒体编程的基本技术与方法. 二、 实验要求: 1、制作一个如下图的多媒体播放器界面,并尽量实现全部或绝大部分功能。 图1 多媒体播放器功能要求 2、用.mp3、。avi等格式文件进行播放测试,并获取播放效果图。 3、完成ABOUTBOX的版权信息,请认真真实填写本人信息,否则当缺做实验或抄袭别人程序处理. 图2 必须完成的版权个人信息 4、完成并测试程序后将源程序文件夹压缩后上传网络课堂,请确保程序的正确性与可执行性,老师通过执行你的程序从而给你计算本次实验成绩。 5、认真完成实验报告,必须包括实验目的,实验工具、设计框图、实验步骤、所完成的主要设计内容与方法、实验分析与总结等内容。请尽量笔写,其中源代码与效果图可以打印后粘贴到实验报告本上。 实验指导与基本步骤: 使用VC++6.0的AppWizard、ClassWizard和其中的各种控件可以方便地建立各种应用程序。但是想要实现更高级更复杂的功能,就要借助丰富的ActiveX控件资源。本实验计划使用VC++6。0自带的一个ActiveX控件——ActiveMovieControl Object,来设计多媒体播放器.此多媒体具有一般的播放功能,能播放:*。mp3,*.wma,*。mdi,*。wav,*.avi,*。dat等文件,还有Repeat功能。 1、注册控件:在windows“运行"里写入:regsvr32 msdrm.ocx 单击确定。 2、打开VC6.0,在Projects下选择MFC AppWizard(exe),并取名VedioPlayer,然后建立基于对话框的应用程序。最后删除“确定”按钮,保留“取消”按钮. 图3 图4 图5 图6 图7 MFC AppWizard生成的对话框 3、打开Resource View,选择其中的对话框,打开其中的主对话框,去掉对话框上的“确定”按钮,保留“取消”,将Caption改为“退出”.然后再在上面加上几个按钮,ID和Caption分别为   IDC_OPEN,打开;   IDC_PLAY,播放;   IDC_PAUSE,暂停;   IDC_STOP,停止;   IDC_CLOSE,关闭;   IDC_LOWER,-;   IDC_UPPER,+;   IDC_FULLSCREEN,全屏; 。。。。.. 最终如图8所示. 图8 播放器功能界面 4、加入ActiveMovieControl控件。打开Projects—〉Add to Project—〉Components and Controls—>Registered ActiveX Controls对话框,选择其中的ActiveMovieControl Object, Insert,OK之后,会发现控件面板上多了一项ActiveMovieControl Object,将它选中,直接放在对话框上,并拖成合适大小。最终效果如图11所示. 图9 图10 图11 最终界面效果 5、为ActiveMovieControl控件设置变量m_ActiveMovie。点中它,按Ctrl+W打开ClassWizard为它添加变量m_ActiveMovie. 图12为ActiveMovieControl控件设置变量m_ActiveMovie 6、为程序添加消息处理函数。打开ClassWizard,为各个按钮加入消息处理函数。在MediaPlayerDlg。cpp文件里为各消息处理函数添加代码,部分代码如下: void CVediorDlg::OnClose() {     m_ActiveMovie。CloseWindow();//关闭窗口 } void CVedioPlayerDlg::OnOpen() { char szFileFilter[]= ”Mp3 File(*.mp3)|*.mp3|” ”Wma File(*.wma)|*.wma|" "Video File(*。dat)|*.dat|” "Wave File(*.wav)|*.wav|" "AVI File(*。avi)|*。avi|” "Movie File(*.mov)|*.mov|” ”Media File(*。mmm)|*.mmm|" ”Mid File(*。mid;*,rmi)|*.mid;*。rmi|" "MPEG File(*.mpeg)|*。mpeg|" ”All File(*。*)|*。*||";//文件类型过滤 CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg。DoModal()==IDOK){ CString PathName=dlg.GetPathName(); PathName。MakeUpper();//这个函数可以将CString字符转化为一个大写的字符串 m_ActiveMovie.SetFileName(PathName); } } void CVedioPlayerDlg::OnPlay() { m_ActiveMovie。Run();//播放文件 SetTimer(0,20,NULL);//设置定时器 //0:计时器的名称;20:时间间隔,单位是毫秒;NULL:使用OnTimer函数。 } void CVedioPlayerDlg::OnStop() { m_ActiveMovie。Stop();//停止播放文件 KillTimer(0);//关掉定时器 } void CVedioPlayerDlg::OnPause() { m_ActiveMovie.Pause();//暂停播放 } void CVedioPlayerDlg::OnUpper()//增加音量 { long Volume=m_ActiveMovie。GetVolume(); m_ActiveMovie.Pause(); m_ActiveMovie。SetVolume(Volume+100); m_ActiveMovie.Run(); } void CVedioPlayerDlg::OnLower()//减少音量 { long Volume=m_ActiveMovie.GetVolume(); m_ActiveMovie。Pause(); m_ActiveMovie。SetVolume(Volume-100); m_ActiveMovie。Run(); } void CVedioPlayerDlg::OnFulscreeen()//全屏播放 { m_ActiveMovie。Pause(); m_ActiveMovie。SetFullScreenMode(true); m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED); m_ActiveMovie。Run(); } 这里需要注意的是,下面的函数OnTimer()需通过ClassWizard(Ctrl+W)来添加,不能直接复制: 图13 void CVedioPlayerDlg::OnTimer(UINT nIDEvent) { double CurrentPos=m_ActiveMovie.GetCurrentPosition(); if(CurrentPos==0&&isRepeat)//如果当前是文件的起始位置而且为重复播放状态 m_ActiveMovie。Run(); CDialog::OnTimer(nIDEvent); } 7、为使播放器具有重复播放功能,需在头文件VedioPlayerDlg.h 加入控制变量BOOL isRepeat;类型可为Private。 同时修改OnInitDialog()函数: BOOL CMediaPlayerDlg::OnInitDialog() { CDialog::OnInitDialog(); isRepeat=FALSE; …… } 8、其他功能请自己设计解决。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服