使用vc制作媒体播放器[1].doc_第1页
使用vc制作媒体播放器[1].doc_第2页
使用vc制作媒体播放器[1].doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VC 6.0下自制媒体播放器 - 可视动画控件ActiveMovie是Microsoft公司开发的ActiveX控件,从开始的1.0版、 1.2版到现在的2.0版,功能上已经有了很大的改进。由于该控件内嵌了Microsoft MPEG 音频解码器和Microsoft MPEG视频解码器,所以能够很好地支持音频文件和视频文件, 用其播放的VCD效果就很好。另外,播放时若用鼠标右键单击画面,可以直接对画面的 播放、暂停、停止等进行控制,读者还可以自行在“属性”栏中对影片播放 进行控制设置,用起来非常方便。 在Microsoft公司去年推出的VC+6.0中已经包含了 ActiveMovie控件的2.0版,笔 者 在VC+6.0下利用这个控件自制了一个简易的媒体播 放器,除了满屏功能外,还可以对音量进行控制。下面把具体做法介绍给读者。 - 一 建立工程 - 利用 VC+6.0的AppWizard生成一个基于对话框的工程Player,去掉对话框上的 “确定” 和“取消”按钮,并加入ActiveMovie控件(通常情况 下ActiveMovie控件并不出现在控件面板中,可在菜单中依次选择“project Add To Project Components And Controls”,在出现的 “Components And Controls Gallery”对话框中打开“ Registered Active Controls”文件夹,选中“ActiveMovie Control Object”选项,按“Insert”后关闭该对话框,ActiveMovie控件 便出现在控件面板中),调整好控件在对话框中的位置。为了能够控制控件的操作, 应为对话框设计一个菜单,菜单的项目可以定为“文件”、“屏幕 控制“和“音量控制”。 - 二 添加代码 - 首先利用ClassWizard为ActiveMovie控件声明一个变量m_ActiveMovie。然后 为菜单 “文件”添加两个菜单项“打开文件”和“退 出”,并分别添加函数OnOpen()和OnExit(),代码如下: void Cplayer:OnOpen() / TODO: Add your command handler code here char szFilter = Video File (*.dat) *.datWave File (*.wav)*.wavAVI File (*.avi) (*.avi)Movie File (*.mov)(*.mov) Media File (*.mmm)(*.mmm)Mid File(*.mid;*.rmi) (*.mid;*.rmi)MPEG File (*.mpeg)(*.mpeg) All File (*.*)*.* ;/用于设置FileDialog的文件类型 CFileDialog FileDlg( TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter ); if( FileDlg.DoModal() = IDOK ) CString PathName = FileDlg.GetPathName(); PathName.MakeUpper(); m_ActiveMovie.SetFileName(PathName); - OnOpen()函数的作用是显示“打开”对话框,通过该对话框选择 要执行的文件。 void CPlayer:OnExit() / TODO: Add your command handler code here OnOK();/退出应用程序 - 为菜单“屏幕控制”添加菜单项“满屏”,其响应函 数为OnFully(),具体代码如下: void CPlayer:OnFully() / TODO: Add your command handler code here m_ActiveMovie.Pause ();/暂停播放 m_ActiveMovie.SetFullScreenMode(true);/设置满屏模式 m_ActiveMovie. Run();/继续播放 m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED); /设置窗口为最大 - ActiveMovie控件还提供了控制音量的两个函数GetVolume()和SetVolume(), 只要在程序中调用这两个函数,便可以达到控制音量的目的。为“音量控制 ”添加“增加”和“减小”两个菜单项,其响应函数 分别为: void CVcdDlg:OnAdd() / TODO: Add your command handler code here long m_valume= m_ActiveMovie.GetVolume (); /获取当前音量 m_ActiveMovie.Pause (); m_ActiveMovie.SetVolume(m_valume+100); /用于增加音量 m_ActiveMovie.Run (); void CVcdDlg:OnReducing() / TODO: Add your command handler code here long m_valume= m_ActiveMovie.GetVolume (); m_ActiveMovie.Pause (); m_ActiveMovie.SetVolume(m_valume-100); /用于减小音量 m_ActiveMovie.Run (); - 在声卡的控制菜单上给出了“静音”操作,那么能否为我们自 己制作的媒体播放器加上 “静音”功能呢?回答是肯定的。虽然 ActiveMovie控件并没有直接提供“静音”函数,但可以通过控制函 数SetVolume()的参数来实现“静音”的效果。笔者经过反复试验, 当 SetVolume()的参数设为-4000使效果比较理想。要实现静音功能,应先为“ 音量控制”加入菜单项“静音”,并添加消息响应函数OnMute(), 代码如下: void CVcdDlg:OnMute() / TODO: Add your comman

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论