Работа с мультимедиа

В операционной системе 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