当前课程知识点:VC++面向对象与可视化程序设计(下):MFC编程基础 > 第10章 多媒体应用程序的设计 > 10-2 利用Windows Media Player控件实现多媒体程序设计 > 10-2
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频课程列表
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频列表
好!我们下面再给大家讲一个例子
利用Windows Media Player控件实现多媒体程序设计
这个例子要求是这样的
编写一个应用程序
使得用户可以分别选择一个视频文件和一个音频文件来进行播放
首先我们要建立一个基于对话框的应用程序
然后在对话框中插入ActiveX控件
然后选择Windows Media Player
我们创建一个基于对话框的应用程序
比如说我们这个起的名字叫做10_3
好了! 选择基于对话框应用程序
下一步
这个系统菜单可以不需要了
我们缺省了
完成
好了! 在这里面我们在对话框中
单击鼠标右键
这里选择插入ActiveX控件
然后我们选择Windows Media Player
确定
好了!我们这个控件就放这儿了
就是插入了Windows Media Player控件
我们下面要做的事情是在应用程序中加入支持播放视频/音频的类
所以我们在工程文件中添加一个类
叫做ActiveX控件中的MFC类
添加类
类的话呢
是“ActiveX控件中的MFC类”
我们选择“添加”
那么最后选择添加的时候
我们在这里面呢
我们要选择来源
从以下来源中添加类
我们从“文件”中选择“头文件”
那么从文件中选择
它的位置是C下面的Windows下面的System32
我们选择Windows Media Player的dll
好!我们找到了这个文件
叫wmpWindows Media Player的动态链接库
那么从鼠标下方的文件说明里面大家也可以看到
它是Windows Media Player
好!我们选上这个
打开
它的位置是在C下面的Windows下面的System32下面的Windows Media Player
那么我们选择是接口是哪一个呢
那么I Windows Media Player4?
我们就在生成的类里面列表框里面就看到了CWMPPlayer4这个类
那么类的名字就叫做这个CWMPPlayer4
当然了大家很熟悉类的定义
这个头文件里面CWMPPlayer4.h里面
它的执行文件是CWMPlayer4.cpp
好了我们选择完成
添加类的来源
我们把这个工作已经完成了
完成了之后
我们下面要在10_3Dlg就是dialogue.h的文件的头部我们要加上
这个我们刚才要生成的类就是多媒体类的这么一个定义
在对话框里面才能够调用这个类
所以我们添加一下
我们在这个10_3头文件里面
我们添加一下
include这个内容
对话框的这个类的定义里头就是这个10_3Dlg.h里面
把这个刚才创建的CWMPPlayer4这个类的定义
也就是它的头文件
给它嵌入
嵌入完在对话框里面就可以调用这个多媒体的类了
我们要为刚才创建的对话框控件添加一个变量
为它添加一个变量
添加变量
名字我们就给它起成m_mediaplay
因为我们要播放文件
所以文件名必须要有地方保存
所以添加这个变量就是用来干这件事情的
我们为这个Windows Media Player这个控件添加一个双击鼠标事件
也就是说当程序运行时双击这个控件
就会出现一个音频视频文件对话框
我们选择正确格式的文件后
就会进行播放
所以,为这个控件
添加鼠标双击的消息
好了!我们在类向导中
为它添加事件处理程序
处理程序里我们根据我们的题目要求
要找到双击的消息
我们找double click
它系统给我们推荐了一个函数名
叫double click ocx
好了我们就添加这个代码
那么这个是基于对话框内的
因为我们这个控件是安放在对话框上面
好了!我们就添加它的相应代码
我们一起来看一下
我们添加的代码的含义是什么
首先我们当双击这个控件的时候
会弹出一个打开文件的对话框
所以的话,我们是CFileDialog
然后这个对话框里面
我们这个刚开始是*.*所有的文件
当然,你文件必须FILEMUSTEXIST
这都是dlg里面的参数
你自己填写就可以了
然后这里面参数
实际上这么多行只有一句
也就是说对asf文件的过滤
对avi文件的过滤
对rm、wav、mid还有所有文件
那么缺省的程序运行是所有文件*.
所以这个实际上是一句话
那么也就是说这是文件的过滤器
后缀过滤
然后呢如果在这个CFileDialog
就是打开文件的对话框中
你选上了相应的后缀之后
并选上了相应文件里打开ok
然后就把你获得的这个文件名
放到播放的URL里面去
我们刚才定义了一个m_mediaPlay
那么这个m_mediaPlay是保存播放文件的
那么我们只要把这个获取的文件
放到播放文件的URL里面去
那么也就是说我们
把媒体文件就放到了播放器里面去
由于我们用的是系统的控件
所以它就会自动的开始播放
好了!我们运行一下这个程序
我们双击! 好! 弹出一个查找文件的对话框
我们现在再回到D盘去
去找刚才这个文件
好!我们音频是可以播放
我们仍然去找一下
我们第一个例子播放的wav9
打开
这个仍然是可以播放的
那么这是播放的是音频文件
下面我们呢
再找一个视频文件来播放
大家已经领略了音频文件的播放
那么我想大家看到这个视频的时候似曾相识
这是我们第一讲的视频内容
好了我们就播放到这吧
-讨论实录
--0-0
-6-1 MFC概述
-6-2 C++的基本知识
--6-2-1 类
--6-2-2 对象
--6-2-6 重载
--6-2-9 指针
-6-3 MFC类的组织结构及主要的类的简介
--6-3-2 根类
-6-4 MFC中全局函数和全局变量
-7-1 概述
--7-1-1
--7-1-2
-7-2 按钮控件及其应用
--128B12447816EEF99C33DC5901307461
-7-3 按钮控件及其应用
--7-3
-7-4 静态控件
--7-4
-7-5 列表框控件
--7-5-1
--7-5-2
-7-6 编辑框控件
--7-6
-7-7 组合框控件
--7-7
-7-8 对话框通用控件
--7-8-1
--7-8-2
-讲义源代码
--html
-8-1&2 资源的应用以及菜单资源的使用
--8-1-1
--8-1-2
-8-3 快捷菜单的创建及其应用
--8-3
-8-4 加速键资源的创建及其使用
--8-4
-8-5 工具条资源的创建及其使用
--8-5
-8-6 字符串资源的使用
--8-6
-8-7 位图资源的创建及其使用
--8-7
-课堂示例源代码
--html
-第一次作业内容及要求
--html
--第一次作业及答题链接--作业
-9-1 概述
--9-1
-9-2 Doc/View框架的主要成员
--Video
-9-3 文档操作中的一些重要概念
--Video
-9-4 SDI编程实例
--Video
-9-5 MDI编程实例
--9-5-1
--9-5-2
-课堂示例源代码
--html
-第二次作业内容及要求
--html
--第二次作业及答题链接--作业
-10-1 利用音频函数实现多媒体程序设计
--10-1-1
--10-1-2
--10-1-3
--10-1-4
-10-2 利用Windows Media Player控件实现多媒体程序设计
--10-2
-课堂示例源代码
--html
-例11-1
--例1
-例11-2
--例11-2
-例11-3
--例11-3
-例11-4
--例11-4
-11-1 ODBC介绍与引用
--11-1
-课堂示例源代码
--html
-第三次作业及答题链接