标题：Mulimedia控件
用途
管理 MCI 设备的录制和播放。
多媒体的要求和支持的设备类型
哪些按钮可用，Multimedia 控件提供哪些功能，取决于特定计算机的硬件和软件配置。例如，应用程序中使用了特定的多媒体设备和驱动程序，则它们必须已安装在该机器中。
在 Windows 95 和 Windows NT 操作系统中提供了支持多种多媒体设备（比如音频和视频文件）的驱动程序。其它设备，比如数字音频磁带机或图象扫描仪需要独立的驱动程序，这些驱动程序通常由制造商提供。
设备分为两种：简单的和复合的。简单的多媒体设备不需要数据文件即可播放。例如，打开视频或音频 CD 播放器后，可通过“曲目”进行播放、回绕和快进。而复合设备则必须通过数据文件才能播放。
下表列出了 Multimedia 控件支持的部分设备和为使用设备而由DeviceType 属性要求的字符串，同时列出了对应文件类型的是复合设备。
设备类型字符串文件类型描述CD audiocdaudio音频 CD 播放器Digital Audio Tapedat数字音频磁带播放器Digital video(not GDI-based)DigitalVideo窗口中的数字视频OtherOther未定义 MCI 设备OverlayOverlay覆盖设备ScannerScanner图像扫描仪SequencerSequencer.mid音响设备数字接口 (MIDI) 序列发生器Vcr VCR视频磁带录放器AVIAVIVideo.avi视频文件videodiscVideodisc视盘播放器waveaudioWaveaudio.wav播放数字波形文件的音频设备。
MCI 命令
Multimedia 控件使用一套高层次的、与设备无关的命令，被称为媒体控制接口命令，它们可控制多种多媒体设备。其中的许多命令直接与 Multimedia 控件的按钮对应。例如，Play 命令就与“播放”按钮相对应。
Multimedia 控件本质上是该命令集的 Visual Basic 接口。如 Play 或 Close 等命令在 Win32(R) API 的 MCI 命令结构中都有等价命令。例如，Play 对应 MCI_PLAY。下表列出了 Multimedia 控件使用的 MCI 命令，同时还列出了它们对应的 Win32 命令：
命令MCI 命令描述OpenMCI_OPEN打开 MCI 设备。CloseMCI_CLOSE关闭 MCI 设备。PlayMCI_PLAY用 MCI 设备进行播放。PauseMCI_PAUSE 或 MCI_RESUME暂停播放或录制。StopMCI_STOP停止 MCI 设备。BackMCI_STEP向后步进可用的曲目。StepMCI_STEP向前步进可用的曲目。PrevMCI_SEEK使用 Seek 命令跳到当前曲目的起始位置。如果在前一 Prev 命令执行后三秒内再次执行，则跳到前一曲目的起始位置；或者如果已在第一个曲目则跳到第一个曲目的起始位置。NextMCI_SEEK使用 Seek 命令跳到下一个曲目的起始位置（如果已在最后一个曲目，则跳到最后一个曲目的起始位置）。SeekMCI_SEEK向前或向后查找曲目。RecordMCI_RECORD录制 MCI 设备的输入。EjectMCI_SET从 CD 驱动器中弹出音频 CD。SaveMCI_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 控件）”。