




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章 多媒体程序设计,,Company Logo,第12章 多媒体程序设计,,Company Logo,12.1知识要点,1、多媒体控件MMControl (1)多媒体控件基本知识 MCI:Windows3.1以后的Widows版本为控制音频、视频、动画等外围设备提供了与设备无关的多媒体控制接口(MCI,Media Control Interface),用户的应用程序可以使用MCI控制标准的多媒体设备。,,Company Logo,引入多媒体控件的方法:在“工程”菜单中单击“部件”,或者在工具箱上单击右键,在弹出的“部件”对话框中,选择“Microsoft Multimedia Control 6.0”,然后单击“确定” 按钮,将多媒体控件添加到工具箱当中。 多媒体控件的图标和外观组成:多媒体控件的图标为 ,通常被称之为Multimedia MCI控件。,,Company Logo,它是由一系列能执行MCI命令的下压式按钮组成。根据控件上按钮的顺序,它们分别被定义为Prev(回到当前轨迹起点)、Next(到下一个轨迹起点)、Play(播放)、Pause(暂停)、Back(退后一步)、Step(前进一步)、Stop(停止)、Record(记录)、Eject(弹出)。,,Company Logo,“属性页”设置:在“属性页”对话框中,选择“通用”选项卡,主要包含属性有设备类型、文件名、方向、更新间隔。 选择“属性页”对话框中的“控件”选项卡,对话框中可以对每一个按钮的有效性和可视性进行设置。,,Company Logo,(2)多媒体控件的属性 多媒体控件的主要属性见表12-1。,,Company Logo,表12-1多媒体控件的主要属性和含义,,Company Logo,(3)多媒体控件的常用事件 多媒体控件的常用事件主要有:ButtonClick事件、ButtonCompleted事件、ButtonGotFocus事件、ButtonLostFocus事件、Done事件和StatusUpdate事件。Button泛指多媒体控件上的任意一个按钮,具体为Prev按钮、Next按钮、Play按钮、Pause按钮、Back按钮、Step按钮、Stop按钮、Record按钮和Eject按钮。,,Company Logo,2、利用MMControl控件制作媒体播放器 利用MMControl控件可以制作出功能强大的媒体播放器,参见教材【例12-1】。 3、其他多媒体控件 (1)Animation控件 Animation控件被称为动画控件,可以播放无声的视频动画AVI文件。AVI动画类似于电影,由若干帧位图组成,这些位图按一定的顺序播放,但是没有声音。,,Company Logo,有些AVI动画可以有声音,但是这类文件不能在Animation控件中播放,否则会产生错误。 将Animation控件添加到工具箱的方法是:在工具箱上右键单击,在弹出的“部件”对话框中,选中“Microsoft Windows Common Controls-2 6.0”,然后单击“确定”。 多媒体控件的图标为 Animation控件的常用属性见表12-2。,,Company Logo,表12-2 Animation控件的属性,,Company Logo,Animation控件的常用方法有: Open方法 该方法功能为打开不带声音的AVI文件。Open方法的使用格式为: Object.Open FileName 其中:Object为Animation控件的名称;FileName为要播放的文件名。 Play方法 该方法用来播放不带声音的AVI文件。Play方法的使用格式为: Object.Play repeat,start,end,,Company Logo,其中,Object为Animation控件的名称;repeat为循环播放的次数;start为开始的帧,默认值为0,表示从第一帧开始;end指定结束帧。 Stop方法 该方法用来停止正在播放的AVI文件,但该方法只能停止由Play方法启动的文件,否则会导致错误。Stop方法的使用格式为: Object. Stop Close方法 该方法用来关闭当前打开的AVI文件。Close方法的使用格式为: Object.Close,,Company Logo,(2)Windows Media Player控件 Windows Media Player控件可以播放AVI、WAV、MIDI、MPEG和MOV等多媒体文件。 将Windows Media Player控件添加到工具箱的方法是:在工具箱上右键单击,在弹出的“部件”对话框中,选中“Windows Media Player”,然后单击“确定” 按钮。 Windows Media Player控件的图标为,,Company Logo,(3)其他常用控件 其他常用多媒体控件的名称和基本功能,见表12-3。,,Company Logo,,Company Logo,4、使用API函数编写多媒体程序 (1)使用sndPlaySound函数播放音频文件 Windows的API函数sndPlaySound()可以直接地播放音频文件和系统声音文件。sndPlaySound()函数有lpszSoundName和uFlags两个参数,lpszSoundName用来指定播放的文件名称,uFlags用来控制播放的状态。,,Company Logo,在模块中mciExecute函数的声明语句为: Public Declare Function sndPlaySound Lib “winmm.dll“ Alias “sndPlaySoundA“ (ByVal _ lpszSoundName As String, ByVal uFlags As Long) As Long,,Company Logo,(2)使用mciExecute函数编写多媒体程序 使用Windows的API函数mciExecute()函数可以播放WAV、MID、DAT等多种格式的多媒体文件。 在模块中mciExecute函数的声明语句为: Public Declare Function mciExecute Lib “winmm.dll“ (ByVal lpstrCommand As String) As Long,,Company Logo,第12章 多媒体程序设计,,Company Logo,12.2习题与解答,1、什么是MCI? 答案:Windows3.1以后的Widows版本为控制音频、视频、动画等外围设备提供了与设备无关的多媒体控制接口(MCI,Media Control Interface),用户的应用程序可以使用MCI控制标准的多媒体设备。Multimedia MCI控件管理多媒体控制接口,对MCI设备支持的多媒体数据文件实施记录和回放。,,Company Logo,2、常见的多媒体设备有哪些? 答案:常见的多媒体设备类型有:AVIVideo(视频文件)、CDAudio(音频 CD 播放器)、DAT(数字音频磁带播放器)、WaveAudio(播放数字波形文件的音频设备)和Sequencer(音响设备数字接口(MIDI) 序列发生器)。,,Company Logo,3、多媒体控件有哪些常用事件? 答案:多媒体控件的常用事件主要有:ButtonClick事件、ButtonCompleted事件、ButtonGotFocus事件、ButtonLostFocus事件、Done事件和StatusUpdate事件。Button泛指多媒体控件上的任意一个按钮,具体为Prev按钮、Next按钮、Play按钮、Pause按钮、Back按钮、Step按钮、Stop按钮、Record按钮和Eject按钮。,,Company Logo,4、什么是多媒体控制命令?如何使用这些命令? 答案:多媒体控件有自己的一套可控制多种多媒体设备,且功能强大的命令,这些命令被称之为多媒体控制接口命令(MCI Command)。它们可以通过多媒体控件的Command属性来执行。,,Company Logo,5、Animation控件的主要功能是什么?对播放的文件有什么要求? 答案:Animation控件被称为动画控件,可以播放无声的视频动画AVI文件。AVI动画类似于电影,由若干帧位图组成,这些位图按一定的顺序播放,但是没有声音。有些AVI动画可以有声音,但是这类文件不能在Animation控件中播放,否则会产生错误。,,Company Logo,6、MMControl控件和Windows Media Player控件有什么区别? 答案:Windows Media Player控件是Microsoft公司晚些时候推出的多媒体控件,它的功能比MMControl控件功能要强大一些,不仅可以播放AVI、MIDI和WAV格式的文件,还可以播放MMControl控件无法播放的MEPG和MOV等多媒体文件。用Windows Media Player控件播放动画文件时,还可以显示当前播放时间或播放帧。,,Company Logo,第12章 多媒体程序设计,,Company Logo,12.3实训指导,12.3.1技能训练目的 熟练掌握使用用多媒体控件(MMControl)编写多媒体程序的方法 掌握使用Animation控件编写多媒体程序的方法 掌握使用Windows Media Player控件编写多媒体程序 了解其他常用多媒体控件的基本功能 基本掌握使用API函数编写多媒体程序的方法,,Company Logo,12.3.2技能训练内容 【实训12.1】制作一个CD播放器。 窗体界面设计:在窗体上添加一个多媒体控件(MMControl1)、一个列表框(List1)、一个命令按钮(Command1)、两个图像框(Image1和Image2)、和六个标签控件(Label1Label6)。各个控件的具体摆放如图12-1所示。两个图像框加载了两幅图片来装饰窗体界面;六个标签的AutoSize属性均为True,其它相关属性设置如表12-4所示。,,Company Logo,12-4 各控件的基本主要属性设置,,Company Logo,图12-1,,Company Logo,程序代码设计如下: Dim iTime As Integer 曲目播放总时(秒为单位) Dim iSecond As Integer 秒 Dim iMinute As Integer 分 打开设备 Private Sub Command1_Click() MsgBox (“请将CD盘放在驱动器中,否则产生错误!“) MMControl1.Command = “Open“ 获得曲目数 Dim i As Integer For i = 1 To MMControl1.Tracks List1.AddItem “曲目“ & Format(i) Next i MMControl1.TimeFormat = mciFormatTmsf 设置时间格式 Command1.Enabled = False 使按钮不可用,避免重载,,Company Logo, 设置最初曲目号 If List1.ListCount 0 Then Label4.Caption = “1“ List1.ListIndex = 0 End If Exit Sub End Sub Private Sub Form_Load() MMControl1.Wait = True MMControl1.UpdateInterval = 0 MMControl1.DeviceType = “CDAudio“ 设置设备类型 Label4.Caption = “0“ 设置曲目号为0 Label6.BackColor = &H404040 显示停止播放状态 End Sub,,Company Logo,Private Sub Form_Unload(Cancel As Integer) MMControl1.Command = “Stop“ MMControl1.Command = “Close“ End End Sub 弹出CD光盘,使装载按钮可用 Private Sub MMControl1_EjectClick(Cancel As Integer) Command1.Enabled = True MMControl1.UpdateInterval = 0 MMControl1.Command = “Eject“ 弹出CD MMControl1.Command = “Close“ 关闭设备 Label4.Caption = “0“ 设置曲目号为0 List1.ListIndex = -1 Label6.BackColor = &H404040 显示停止播放状态 Exit Sub End Sub,,Company Logo,下一曲 Private Sub MMControl1_NextCompleted(ErrorCode As Long) 播放下一个曲目,则显示新的曲目号 Label4.Caption = Str$(MMControl1.Track) List1.ListIndex = MMControl1.Track - 1 iTime = 0 重新设置播放总时间 End Sub 暂停 Private Sub MMControl1_PauseClick(Cancel As Integer) MMControl1.UpdateInterval = 0 显示停止播放状态 Label6.BackColor = &H404040 Label3.Caption = “CD播放器暂停播放“ End Sub,,Company Logo,播放 Private Sub MMControl1_PlayClick(Cancel As Integer) MMControl1.UpdateInterval = 1000 显示当前曲目号 Label4.Caption = Str$(MMControl1.Track) List1.ListIndex = MMControl1.Track - 1 iTime = 0 设置播放总时间为0 End Sub 前一曲 Private Sub MMControl1_PrevCompleted(ErrorCode As Long) 显示新的曲目号 Label4.Caption = Str$(MMControl1.Track) List1.ListIndex = MMControl1.Track - 1 iTime = 0 End Sub,,Company Logo,设备状态改变 Private Sub MMControl1_StatusUpdate() 状态改变,显示当前曲目号 Label4.Caption = Str$(MMControl1.TrackPosition) List1.ListIndex = MMControl1.Track - 1 判别是否正在播放,若是,则显示已经播放的时间,否则,显示停止播放状态 If MMControl1.Mode = mciModePlay Then iTime = iTime + 1 iSecond = iTime Mod 60 求余数得秒数 iMinute = iTime 60 求模数得分数 Label5.Caption = Format(iMinute, “00“) & “:“ & Format(iSecond, “00“) Label6.BackColor = &H80FF& Label3.Caption = “CD播放器正在播放“ Else Label6.BackColor = &H404040 Label3.Caption = “CD播放器暂停播放“ End If End Sub,,Company Logo,停止播放 Private Sub MMControl1_StopClick(Cancel As Integer) MMControl1.UpdateInterval = 0 停止播放 Label6.BackColor = &H404040 Label3.Caption = “CD播放器暂停播放“ 重置第一个曲目 MMControl1.To = MMControl1.Start MMControl1.Command = “Seek“ MMControl1.Track = 1 Label4.Caption = “1“ List1.ListIndex = MMControl1.Track - 1 End Sub,,Company Logo,图12-2,图12-3,,Company Logo,第12章 多媒体程序设计,,Company Logo,12.4测验题,12.4.1选择题 1下面关于的描述错误的是 。 AMMControl控件包含9个按钮,按钮数量不可以改变。 B使用MMControl控件可以播放AVI文件。 CStatusUpdate事件的时间间隔单位为毫秒。 D在一个窗体中可以添加多个MMControl控件。 答案:A,,Company Logo,2语句MMControl1.Command= “Open“的含义是: 。 A开始播放多媒体文件。 B弹出CD-ROM驱动器。 C打开一个MCI设备。 D不合乎语法要求。 答案:C,,Company Logo,3关于Animation控件的说法错误的是 。 AAnimation控件只能播放不带声音的AVI文件。 BAnimation控件的背景可以通过BackStyle属性设置为透明。 C当AutoPlay属性为真时,Stop方法无效。 DAnimation1.Play 10,1,20表示从第1帧到第20帧连续播放10次。 答案:D,,Company Logo,12.4.2填空题 1语句MMControl1.PlayVisible=False的作用是 (1) 。 答案:Play按钮不可见 2实现让MMControl1在图片框控件(Picture1)上播放动画的语句为: (2) 。 答案: MMControl1.hWndDisplay = Picture1.hWnd,,Company Logo,3添写代码使得Windows MediaPlayer以屏幕1/6大小显示图像 MediaPlayer1.DisplaySize= 。 答案:mpOneSixthScreen或5 4利用mciExecute()API函数播放通过通用对话框(CommonDialog1)打开的文件的代码为: k = mciExecute( ) 答案:“play “ + CommonDialog1.FileName,,Company Logo,12.4.3编程题 使用ShockwaveFlash控件制作一Flash播放器。窗体如图12-4所示。,图12-4,,Company Logo,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西理工职业技术学院《走进》2023-2024学年第二学期期末试卷
- 2025年辅警招聘考试综合提升练习题及一套参考答案详解
- (2025)辅警招聘考试试题库附答案详解(预热题)
- 2022年2月韶关市直机关遴选公务员面试真题带详细解析
- 2022年11月三明市直机关遴选公务员面试真题带详细解析
- 2025年皖北煤电集团总医院招聘护理笔试备考题库含答案详解(基础题)
- 丽江云南丽江市交通运输综合行政执法支队执法辅助人员招聘6人笔试历年参考题库及一套参考答案详解
- 2025合同模板机械设备租赁合同书范本
- 2025太空舱合作合同-餐饮服务(律师拟定版本)
- 2025机械设备交易合同
- 2025年安全月安全有奖答题考试题库(附答案)
- 浙江省宁波市2025年八年级下学期期末数学试题及答案及答案
- 北京历史文化街区风貌保护与更新设计导则
- 国能集团工会工作报告
- 2025年商业管理与商业模式创新能力考核题及答案
- T/CBMCA 012-2020室内环境清洁消毒服务规范
- 广东省深圳市南山区2023-2024学年七年级下学期期末语文试题(含答案)
- 工程力学(山东科技大学)知到智慧树期末考试答案题库2025年山东科技大学
- 补缴社保员工协议书
- 辐照灭菌委托协议书
- 水电项目实施中的环境保护措施试题及答案
评论
0/150
提交评论