多媒体技术

  • 格式:ppt
  • 大小:1.33 MB
  • 文档页数:85

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的消息映射函数,并添加如下代码: • void CMyDlg::OnPlay() • { //添加控件通知消息处理代码 • MCI_PLAY_PARMS mciPlayParms; • mciPlayParms.dwFrom=0; //从文件开始处开始播放 • mciSendCommand(m_MCIDeviceID,MCI_PLAY,MCI_FROM, • (DWORD)(LPVOID)&mciPlayParms); •}
ELEMENT, • (DWORD)(LPVOID)&mciOpenParms);
上一页 下一页 返回
7.1 使用MCI 播放WAVE 文件的程序实例
• m_MCIDeviceID=mciOpenParms.wDeviceID; • return TRUE; •} • 说明: • mail.wav 是一个WAV 声音文件,第4 步时已经复制到此项目文件中。
7.2 MCI
• 媒体控制接口(Media Control Interface,MCI)为Windows 程序 提供了在高层次上控制媒体设备接口的能力。程序不必关心具体设备, 就可以对激光唱机(CD)、视盘机、波形音频设备、视频播放设备 和MIDI 设备等媒体设备进行控制。对于程序员来说,可以把MCI 理 解为设备面板上的一排按钮,通过选择不同的按键(发送不同的MCI 命令)就可以让设备完成各种功能,而不必关心设备内部实现。例如, 对于play 按键,视盘机和CD 机有不同的反应(一个是播放视频,一 个是播放音频),而对用户来说只需要按同一按钮。利用MCI 控制多 媒体设备分为打开、使用和关闭三个过程。
L); //停止播放 • mciSendCommand(m_MCIDeviceID,MCI_CLOSE,MCI_WAIT,NU
LL); //关闭MCI 设备 •} • (8)编译并运行程序。 • 在单击“播放”按钮时,程序将播放声音;当单击“退出”按钮或单
击窗口的“关闭”钮时,声音播放会立即停止。
上一页Hale Waihona Puke Baidu返回
骤如下:
下一页 返回
7.1 使用MCI 播放WAVE 文件的程序实例
• 1) 选择“Project”→“Setting”打开Project Settings 对话框, • 切换到Link 选项卡,在Object/library modules 文本框中输入
winmm.lib,如图7.2 所示,单击“OK”按钮退出。 • 2) 在“播放声音Dlg.h”文件前面的文件包含处写:#include
下一页 返回
7.2 MCI
• 7.2.1 MCI 设备类型
• 设备类型是指响应一组共用命令的一类MCI 设备。表7.1 列出了MCI 设备类型。
• 7.2.2 MCI 命令与函数
• 应用程序通过MCI 设备发送命令来控制MCI 设备。 • 1. MCI 命令 • MCI 发送命令有两种方法,一种是调用MCI 函数mciSendString(),
设备 • mciOpenParms.lpstrDeviceType="waveaudio"; //MCI 设备名 • mciOpenParms.lpstrElementName="mail.wav"; //声音文件,此处
写你复制到本文件夹 • //下的声音文件名 • mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_
上一页 下一页 返回
7.1 使用MCI 播放WAVE 文件的程序实例
• (7)在程序退出时停止播放并关闭MCI 设备。 • 用ClassWizard 为CMyDlg 类添加WM_DESTROY 消息,该消息映
射函数能使程序退出时停止声音文件的播放并关闭MCI 设备。 • void CMyDlg::OnDestroy() • { CDialog::OnDestroy(); • mciSendCommand(m_MCIDeviceID,MCI_STOP,MCI_WAIT,NUL
"MMSystem.h"。 • (3)在CMyDlg 类头文件(播放声音Dlg.h)的public 下添加成员
变量: • MCIDEVICEID m_MCIDeviceID; • (4)在系统中搜索到一个声音文件(*.wav)复制到此项目文件夹中,
将其命名为mail。 • (5) 在CMyDlg类的OnInitDialog()成员函数中添加以下代码(可以
• [例7.1]声音播放。 • (1)新建项目。 • 1) 创建一个基于对话框的应用程序,名为:播放声音。 • 2) 删除原有的“取消”按钮,把“确定”按钮的标题改为“退出”。 • 3) 添加一个按钮,其ID 标识符为IDC_PLAY,标题为:播放。调整
对话框大小和布局,如图7.1 所示。 • (2)为程序添加多媒体支持。 • 使用Visual C++编写多媒体程序时必须向项目中添加多媒体支持。步
把其他语句全部注释掉)。
上一页 下一页 返回
7.1 使用MCI 播放WAVE 文件的程序实例
• BOOL CMyDlg::OnInitDialog() • { CDialog::OnInitDialog(); • MCI_OPEN_PARMS mciOpenParms; // 打开MCI(媒体控制接口)
程序首先打开了MCI 设备,并把设备标识赋给了类的成员变量 m_MCIDeviceID。 • 注意:拷贝到本文件夹下的声音文件要重新命名(文件名要和程序中 的一致),命名时不要带扩展名.wav。
上一页 下一页 返回
7.1 使用MCI 播放WAVE 文件的程序实例
• (6)播放声音文件。 • 用ClassWizard 为播放按钮IDC_PLAY,在CMyDlg 类添加鼠标单击
第7 章 多媒体技术
• 7.1 使用MCI 播放WAVE 文件的程序实例 • 7.2 MCI • 7.3 MCI 编程步骤 • 7.4 使用MCIWnd 窗口类 • 7.5 章后实训
返回
7.1 使用MCI 播放WAVE 文件的程序实例
• 先举一个简单的例子,了解一下多媒体应用程序的编制过程和实现效 果。