В операционной системе Windows 32x за воспроизведение мультимедиа данных отвечает специальный MCI интерфейс. Основы данного интерфейса образуют драйверы устройств и кодеки.
Кодек — программа для упаковки и распаковки мультимедиа потока, а драйвер — программа для управления устройством воспроизведения.
Система разработки MS Visual Basic предоставляет разработчикам специальный визуальный компонент Microsoft Multimedia Control 6.0 (MS MMControl) . Для использование этого компонента его надо включить в проект командой меню:
Project > Components > Microsoft Multimedia Control 6.0
Настройка командных кнопок визуального компонента MS MMControl Visual Basic.
Рис.7.3. Кнопки управления.
Свойства:
[form.]MMControl.DeviceType[ = device$]
Типы устройств: AVIVideo, CDAudio, DAT, DigitalVideo, MMMovie, Other, Overlay, Scanner, Sequencer, VCR, Videodisc, or WaveAudio.
Имя мультимедиа файла.
[form.]MMControl.Filename = name$
[form.]MMControl.Notify[ = {True | False}]
True | Очередная команда может породить событие Done |
False | Противоположное |
[form.]MMControl.Wait[ = {True | False}]
False | MCI не будет ждать завершения выполнения команды, прежде чем отдать управление приложению. |
True | Противоположное значение. |
[form.]MMControl.Shareable[ = {True | False}]
False | Запрет на доступ к устройству со стороны других устройств и программ. |
True | Противоположное значение. |
[form.]MMControl.Command[ = cmdstring$]
Команда | Назначение |
Open Notify (False) Wait (True) | Открытие доступа к устройству |
Close Notify (False),Wait (True) | Закрытие интерфейса. |
Play Notify (True) Wait (False) | Воспроизведение ММ последовательности. |
Pause Notify (False) Wait (True) Stop Notify (False) Wait (True) | Приостановка выполнения воспроизведения. |
Back Notify (False) Wait (True) | Возврат на шаг |
Step Notify (False) Wait (True) | Переход на шаг вперед |
Prev Notify (False) Wait (True) | Переход на начало трека |
Next Notify (False) Wait (True) | Переход на конец текущего трека. |
[form.]MMControl.Error – контроль ошибки.
Пример загрузки звукового файла.
Private Sub Form_Load ()
' Set properties needed by MCI to open.
MMControl1.Notify = FALSE
MMControl1.Wait = TRUE
MMControl1.Shareable = FALSE
MMControl1.DeviceType = "WaveAudio"
MMControl1.FileName = "C:WINDOWSMMDATAGONG.WAV"
'Open the MCI WaveAudio device.
MMControl1.Command = "Open"
End Sub
Пример переадресации ММ потока на визуальный компонент PictureBox. Для воспроизведения потока в форме.
Private Sub Form_Load()
fname = App.Path + "firewrks.mpg"
MMControl.FileName = fname
MMControl.Command = "Open"
MMControl.Notify = False
MMControl.Wait = False
MMControl.hWndDisplay = picDisp.hWnd
Exit Sub
If MMControl.Error = 0 Then
MMControl.Command = "Play"
Else
MsgBox "Error !"
End If
End Sub