全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起毛挡车工岗位职业健康、安全、环保技术规程
- 公司弹簧工岗位标准化技术规程
- 水环境监测员岗位职业健康及安全技术规程
- 甲壳类养殖工诚信道德知识考核试卷含答案
- 液晶显示器件阵列制造工岗前模拟考核试卷含答案
- 2025年秋北师大版(2022)小学劳动技术六年级上学期期末质量检测卷附答案
- 硕士研究全景解读
- 广东省珠海市某中学2025-2026学年八年级上学期数学10月月考试题【含答案】
- 特训07 二次函数-图形存在性问题专练(7大题型)-2025-2026学年九年级数学上学期期中期末挑战满分冲刺卷(人教版)(原卷版)
- 2025阜新矿业(集团)有限责任公司招聘157人笔试历年参考题库附带答案详解
- 高中英语词汇表(3500词)
- 讴霭咨询-零售行业创新的洞察:策展式零售、叙事零售
- GB/T 13871.5-2015密封元件为弹性体材料的旋转轴唇形密封圈第5部分:外观缺陷的识别
- GB/T 11032-2020交流无间隙金属氧化物避雷器
- A4版2022山东物理高考答题卡word版
- 消防专项规划说明书
- 六年级上册心理健康教育课件-不盲目攀比 全国通用(共18张PPT)
- T-CAMET 04017.6-2019 城市轨道交通 全自动运行系统规范 第6部分:初期运营基本条件
- 哔哩哔哩财务估值模型
- 《觉醒年代》朗诵稿
- (高清正版)T_CAGHP 062—2019地质灾害拦石墙工程施工技术规程(试行)
评论
0/150
提交评论