当前课程知识点:VC++面向对象与可视化程序设计(下):MFC编程基础 > 第10章 多媒体应用程序的设计 > 10-1 利用音频函数实现多媒体程序设计 > 10-1-3
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频课程列表
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频列表
刚才介绍的是三个常用的音频函数
那下面我们介绍用MCI控制波形声音的播放
MCI它这个控制波形声音的播放这个函数
用mciSendCommand这个函数
它有四个参数
比如说接受命令消息的MCI的设备ID
那么这是看是什么设备在播放
这个第二个是发送命令的消息
第三个参数是命令消息的标志集
第四个参数是消息参数的具体地址
在调用MCI设备时我们可以用mciGetErrorString来检测错误
它的参数主要有三个
第一个是错误代码
第二个是指向错误内容字串的指针
第三个是错误内容的缓冲区容量
好了下面我们编写一个例子
这个例子的要求是这样的
编写一个音频播放器的程序
可以选择音频文件并控制它的播放
暂停播放
暂停后的继续播放
以及停止播放等功能
一个“打开文件”
一个“播放”
“暂停/继续”
“停止”
“退出”
分别定义了ID_OPEN_BUTTON
和退出BUTTON
那么定义了五个ID
我们创建一个工程文件
这个工程文件叫做10_2
我们选择基于对话框的应用程序
好了!直接“完成” 不管它了
好了!我们把这个系统生成的拿掉
我们现在来布置界面
这系统生成的按钮我们都给它去掉
那么根据题目的内容我们来设置按钮
第一个按钮是“打开文件”
caption叫做“打开文件”
它的ID叫做IDC的OPEN_BUTTON
然后我们放置一个“播放”按钮
播放按钮
它的ID叫做START
好了这是“播放”按钮
第三个是“暂停/继续”
“暂停/继续”按钮
那么在这里面的ID给它设成PAUSE_BUTTON
然后我们再设置一个“停止”按钮
这个叫“停止”按钮
它的ID就是STOP
好了我们再设置一个“退出”按钮
那么这就是“退出”
“退出”按钮
那么这里面也是“退出”
好了!我们界面就设计完了
要做的事情是什么
仍然是在Stdafx.h中把这个头文件include进去
同时链接winmm.lib
好了我们include进去
我们仍然找到这个,在这个地方加上这句话
嵌入系统多媒体文件定义的头文件
然后我们仍然要增加这个链接
我们在属性这里面
仍然在链接器里面
在输入的地方
在“依赖项”的地方
把这个库给它加上
第二步要增加一些变量
这些变量用来标识播放的状态
比如说我们m_Psign
这个是作为判断正在“播放”的标识
那么Asign就是用来判断正在“暂停”的标识
因为我们这个例子里面有“暂停”
那么播放,播放继续的时候实际上也是播放
dwError用来存储错误的代码
这m_MCIDeviceID用来存储打开设备的ID值
以及szErrorBuf是用来存储出错的内容
这是一个字符型的数组
这样的话我们就要把这些内容添加到我们类上面去
我们添加它的变量
变量类型的话呢
比如说是用protected类型
然后的话呢比如说我添加第一个是布尔值
布尔值叫做m_Psign
我们完成
那么这个时候我们回过头来看
它在这个10_2Dlg头文件里面就增加了一个这个东西
就增加了这个在这里面
那么我们实际上可以一个一个增加
添加变量
我们仍然是protected
这个用的是布尔值
变量名是m_A
好了我们在这里
大家看到又添加了一个
那剩下的话呢
实际上我们可以直接添加
它的效果是一样的
直接手动添加
好了!那么这样的话
等于我们把五个参数都添加完了
我们“保存”
那么添加过程跟前面一样
我们就不一步一步来做了
五个参数都添加完后呢
我们要知道当我们打开程序运行的时候
那么我们还没有打开相关的文件
所以播放的标识一定是FALSE
那么这时候它也不可能是处于“暂停”状态
所以“暂停”的也是FALSE
这时候设备
初始化设备标识
那么我们没有太多的外接设备的时候
我们就取0号设备
就是本机
好了 我们把这三个初始化的参数放到OnInitDialog里面
大家知道这是程序一运行它就马上执行的内容
-讨论实录
--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
-第三次作业及答题链接