Лекция: Работа с мультимедиа
В операционной системе 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:\WINDOWS\MMDATA\GONG.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