王朝百科
分享
 
 
 

Mulimedia控件

王朝百科·作者佚名  2010-06-30  
宽屏版  字体: |||超大  

使用多媒体控件(摘自msdn)

Multimedia 控件可用于管理媒体控制接口(MCI)设备。这些设备有:声卡、MIDI 发生器、CD-ROM 驱动器、音频播放器、视盘播放器和视频磁带录放器。

Multimedia 控件具有一组执行 MCI 命令的下压式按钮。这些命令与通常的 CD 机或录像机上的命令(功能)很相象。

Multimedia 控件

从左到右,这些按钮依次定义为前一个、下一个、播放、暂停、向后步进、向前步进、停止、录制和弹出。

用途管理 MCI 设备的录制和播放。

多媒体的要求和支持的设备类型哪些按钮可用,Multimedia 控件提供哪些功能,取决于特定计算机的硬件和软件配置。例如,应用程序中使用了特定的多媒体设备和驱动程序,则它们必须已安装在该机器中。

在 Windows 95 和 Windows NT 操作系统中提供了支持多种多媒体设备(比如音频和视频文件)的驱动程序。其它设备,比如数字音频磁带机或图象扫描仪需要独立的驱动程序,这些驱动程序通常由制造商提供。

设备分为两种:简单的和复合的。简单的多媒体设备不需要数据文件即可播放。例如,打开视频或音频 CD 播放器后,可通过“曲目”进行播放、回绕和快进。而复合设备则必须通过数据文件才能播放。

下表列出了 Multimedia 控件支持的部分设备和为使用设备而由DeviceType 属性要求的字符串。那些同时列出了对应文件类型的是复合设备。

设备类型

字符串

文件类型

描述

CD audio

cdaudio

音频 CD 播放器

Digital Audio Tape

dat

数字音频磁带播放器

Digital video(not GDI-based)

DigitalVideo

窗口中的数字视频

Other

Other

未定义 MCI 设备

Overlay

Overlay

覆盖设备

Scanner

Scanner

图像扫描仪

Sequencer

Sequencer

.mid

音响设备数字接口 (MIDI) 序列发生器

Vcr

VCR

视频磁带录放器

AVI

AVIVideo

.avi

视频文件

videodisc

Videodisc

视盘播放器

waveaudio

Waveaudio

.wav

播放数字波形文件的音频设备。

MCI 命令Multimedia 控件使用一套高层次的、与设备无关的命令,被称为媒体控制接口命令,它们可控制多种多媒体设备。其中的许多命令直接与 Multimedia 控件的按钮对应。例如,Play 命令就与“播放”按钮相对应。

Multimedia 控件本质上是该命令集的 Visual Basic 接口。如 Play 或 Close 等命令在 Win32(R) API 的 MCI 命令结构中都有等价命令。例如,Play 对应 MCI_PLAY。下表列出了 Multimedia 控件使用的 MCI 命令,同时还列出了它们对应的 Win32 命令:

命令

MCI 命令

描述

Open

MCI_OPEN

打开 MCI 设备。

Close

MCI_CLOSE

关闭 MCI 设备。

Play

MCI_PLAY

用 MCI 设备进行播放。

Pause

MCI_PAUSE 或 MCI_RESUME

暂停播放或录制。

Stop

MCI_STOP

停止 MCI 设备。

Back

MCI_STEP

向后步进可用的曲目。

Step

MCI_STEP

向前步进可用的曲目。

Prev

MCI_SEEK

使用 Seek 命令跳到当前曲目的起始位置。如果在前一 Prev 命令执行后三秒内再次执行,则跳到前一曲目的起始位置;或者如果已在第一个曲目则跳到第一个曲目的起始位置。

Next

MCI_SEEK

使用 Seek 命令跳到下一个曲目的起始位置(如果已在最后一个曲目,则跳到最后一个曲目的起始位置)。

Seek

MCI_SEEK

向前或向后查找曲目。

Record

MCI_RECORD

录制 MCI 设备的输入。

Eject

MCI_SET

从 CD 驱动器中弹出音频 CD。

Save

MCI_SAVE

保存打开的文件。

在 Visual Basic 中,这些命令用 Multimedia 控件的 Command 属性启动。例如:

MMControl1.Command = "Open"虽然 Multimedia 控件实现的 MCI 命令集,在大多数情况下是足够用的,然而直接使用 Win32 API,可以提供高级的编程函数和技术。

详细信息有关 MCI 命令的其它信息,请参阅 Microsoft Multimedia Development Kit Programmer's Workbook 或 Software Development Kit Multimedia Programmer's Reference。在 Microsoft Developer Network CD 中,提供了这些参考,以及 MCI 命令的许多其它信息。

对 Multimedia 控件进行编程通过设置 Enabled 和 Visible 属性,可使 Multimedia 控件在运行时可见或不可见。按照缺省规定,Enabled 和 Visible 属性被设置为 True,这样该控件在运行时就是可见的。

如果不希望通过 Multimedia 控件上的按钮直接与用户交互,而希望使用该控件以求实现它的多媒体功能,那么可将 Visible 属性设置为 False。无论应用程序使用用户交互与否,都可以对 MCI 设备进行控制。

要使单个的按钮可见或不可见,可以设置该按钮对应的 Visible 和 Enabled 属性。例如,Back 按钮中的 BackEnabled 和 BackVisible 属性。九个按钮中的每一个都有对应的这些属性。

在绝大多数情况下,这些按钮的缺省功能已足以管理 MCI 设备。然而,Multimedia 控件还包含一些运行时属性,允许增加或重定义按钮命令。

Notify、NotifyMessage 和 NotifyValue 属性提供了有价值的反馈信息,表明某个命令出错或完成。

打开 MCI 设备将 Multimedia 控件放置到窗体中后,不管它被设置为可见的还是不可见的,第一步都是要访问 MCI 设备。为做到这一点,需要设置一些运行时才可用的属性。例如:

'设置媒体设备的初始化属性值MMControl1.Notify = FalseMMControl1.Wait = TrueMMControl1.Shareable = FalseMMControl1.DeviceType = "CDAudio"如果将 Notify 属性设置为 True,则在下一命令完成时,将产生 Done 事件。Done 事件提供了很有用的反馈信息,以指出该命令成功还是失败。Wait 属性指定 Multimedia 控件是否等到下一命令执行完毕,才将控制权还给应用程序。Shareable 属性限制或允许其它应用程序或进程使用该媒体设备。DeviceType 属性被用来指定 MCI 设备的类型。

最后,Open 命令用来打开 MCI 设备。

'打开媒体设备MMControl1.Command = "Open"当该控件是可见的时候,设置这些属性,并使用 Open 命令,将激活由该 MCI 设备支持的 Multimedia 控件的下压式按钮。例如,打开 cdaudio 设备将激活“前一个”、“下一个”、“播放”和“弹出”按钮。按下“播放”后,“停止”和“暂停”按钮被激活。

在一个窗体中可以加入多个 Multimedia 控件的实例,以提供对多个 MCI 设备的并行控制。对每个设备只能使用一个 Multimedia 控件。

管理多媒体资源要正确地管理多媒体和系统资源,就必须在退出应用程序前将打开的 MCI 设备关闭。在包含 Multimedia 控件的窗体卸载时,可在该窗体的 Form_Unload 过程中使用下面的语句,以关闭正打开着的 MCI 设备。

Private Sub Form_Unload (Cancel as Integer) Form1.MMControl1.Command = "Close"End Sub

使用 Error 和 ErrorMessage 属性使用 Error 和 ErrorMessage 属性,可以处理 Multimedia 控件产生的错误。在每个命令后可以检查错误情况。例如,在 Open 命令之后,可用下面的代码检查 Error 属性的值,以判断是否存在 CD 驱动器。如果没有可用的 CD 驱动器,则返回错误信息。例如:

If Form1.MMControl1.Error Then MsgBox Form1.MMControl1.ErrorMessage,vbCritical, "未安装 CD 播放器或 CD 播放器不能正常工作"End If详细信息请参阅“ErrorMessage 属性(多媒体 MCI 控件)”以及“Error 属性(多媒体 MCI 控件)”。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有