1. Предисловие
Благодаря постоянному совершенствованию мультимедийной аппаратной среды и программной среды, в настоящее время большая часть разработки компьютерного программного обеспечения включает применение технологий мультимедийного программного обеспечения.
В принципе, для разработки мультимедийных приложений можно использовать несколько уровней инструментов, от C до систем разработки, специфичных для мультимедиа (таких как ToolBOOK, AUTHORWARE, DIRECTOR). Однако, поскольку мультимедийное программное обеспечение включает в себя сложные и разнообразные носители, имеет короткий цикл разработки и требует участия различных специалистов, для осуществления практической и эффективной разработки необходимо выбирать программное обеспечение, которое просто в использовании и имеет высокая эффективность разработки.
VisualBasic — это инструмент программирования для Windows, разработанный Microsoft. Благодаря своим передовым дизайнерским идеям, быстрому и простому использованию, а также гибким и разнообразным средствам управления мультимедийными объектами он привлек внимание и благосклонность разработчиков мультимедийного программного обеспечения и, следовательно, стал идеальным инструментом для разработки мультимедийных приложений.
2. Мультимедийный элемент управления VisualBasic MCI.OCX.
MCI (интерфейс управления мультимедиа) — это стандарт интерфейса управления мультимедиа, предоставленный Microsoft для достижения независимости устройств в системах Windows. Пользователи могут легко использовать MCI для управления стандартными мультимедийными устройствами.
MCI включен в модуль MMSYSTEM расширения Windows Multimedia Extension, который используется для координации связи между событиями и драйверами устройств MCI и предоставляет независимые от устройства атрибуты интерфейса. Обычно приложения различают устройства MCI, указывая тип устройства MCI. Тип устройства определяет физический тип устройства, фактически используемого в данный момент. Различные типы устройств описываются с использованием разных атрибутов управления (см. Таблицу 1 приложения).
По используемым методам управления оборудование МРП делится на две категории: составное и простое. Простое устройство MCI не требует элемента устройства. Например, аудиопроигрыватели компакт-дисков и аудиоплееры работают на уже установленном жестком диске и не требуют от приложений предоставления какой-либо информации о медиаконтенте, с которым они работают. Но для составных устройств MCI приложению необходимо предоставить элемент устройства, то есть файл исходных данных или файл назначения, содержащий все имена путей.
Концепция CustomControl (компонент пользовательского управления) языка VisualBasic отражает тенденцию развития современного проектирования программного обеспечения - объектно-ориентированная технология. Программисты могут встраивать различные пользовательские элементы управления в набор инструментов VisualBasic (Toolbox), причем каждый компонент пользовательских элементов управления имеет определенные атрибуты. и методы работы. Программисты могут выполнять определенные функции, устанавливая атрибуты и методы управления. Для удобного управления мультимедиа в профессиональной версии набора инструментов VisualBasic предусмотрен пользовательский элемент управления для мультимедийных целей — MCI.OCX.
Управление мультимедиа MCI MCI.OCX специально используется для записи и воспроизведения файлов мультимедийных данных устройств MCI с интерфейсом мультимедийного управления. С точки зрения цели и эффекта этот элемент управления использует набор кнопок для выдачи различных команд управления устройством для достижения управления, например: аудиопанель, MIDI-управление секвенсорами, приводами CD-ROM, проигрывателями аудио-CD, воспроизведением видеокассет, записью и воспроизведением аудиокассет и другим оборудованием. В программировании на Visual Basic при добавлении в таблицу мультимедийного элемента управления MCI (дважды щелкните элемент управления MCI на панели инструментов) появятся следующие группы кнопок: вперед (PRev), назад (Next), воспроизведение (Play), пауза ( Пауза, Назад, Шаг, Стоп, Запись и Извлечение.
Приложение очень гибкое и удобное для работы с этим набором кнопок MCI. Например, когда мы открываем устройство MCI, мы можем в любой момент выбрать соответствующую кнопку состояния из элемента управления в соответствии со свойствами типа устройства для представления. немедленное физическое состояние устройства. Все элементы управления MCI можно запрограммировать следующими способами: ⑴ видимость и включение элемента управления и его кнопок; ⑵ переменное или полное переопределение управления ⑶ возможностью одновременного управления несколькими устройствами в форме окна;
3. Вызов компонента управления мультимедиа MCI.OCX.
В Visual Basic 3.0 Professional Edition элемент управления мультимедиа MCI.OCX (в Visual Basic 3.0 и 4.0 расширение элемента управления мультимедиа — .VBX) предоставляется как дополнительный компонент. Чтобы его использовать, необходимо сначала выполнить команду меню FileAddFile и добавить MCI.OCX в системный каталог Windows на панель инструментов (Toolbox). В это время на панели инструментов появится соответствующий значок MCI.OCX. Если вы используете Visual Basic версии 4.0 (или версии 5.0), выберите меню oolsCustomControls или напрямую введите Ctrl T, появится диалоговое окно, установите флажок рядом с записью MicrosoftMultimediaControls в списке Доступные элементы управления, и также появится MCI. на панели инструментов значок .OCX.
Дважды щелкните значок элемента управления мультимедиа MCI.OCX на панели инструментов. После вызова элемента управления MCI.OCX в форме ФОРМА появится ряд серых кнопок управления мультимедиа (девять).
4. Этапы разработки мультимедийного приложения VisualBasic
Управление мультимедиа MCI.OCX содержит набор расширенных команд управления, не зависящих от устройства. При использовании этого элемента управления мультимедиа сначала используйте команду OPEN, чтобы открыть устройство MCI (мультимедийное устройство) и создать соответствующий файл для выполнения таких операций, как запись или воспроизведение (но соответствующие файлы нельзя использовать для CDAudio, VCR и видеокассет). После успешного открытия устройства ему могут быть поданы различные рабочие команды (см. команды кнопок в прилагаемой таблице) для выполнения заданных рабочих задач. Наконец, не забудьте использовать команду «Закрыть», чтобы закрыть устройства и файлы данных.
Использовать MCI.OCX для разработки мультимедийных приложений очень удобно, поскольку большинство свойств просты для понимания, среди которых особое значение имеет свойство Command, которое отправляет команды мультимедийному устройству во время работы. Формат:
Form.Mmcontrol.Command=cmdstring$
Среди них переменная cmdstring$ представляет собой следующее имя исполняемой команды: Открыть, Закрыть, Воспроизвести, Пауза, Стоп, Назад, Шаг, Предыдущий, Следующий, Поиск, Запись, Извлечение, Звук и Сохранить. Как только его команда задана, она выполняется немедленно, а любые возникающие ошибки сохраняются в атрибуте Error.
Ниже приведен пример воспроизведения файла DEMO.WAV (файл формы сигнала), иллюстрирующий этапы разработки мультимедийного приложения VisualBasic.
Сначала создайте форму (Form), содержащую элементы управления мультимедиа (MCI.OCX), чтобы на экране отображались клавиши управления в форме диктофона, но в это время компоненты управления мультимедиа нельзя использовать сразу (клавиши серого цвета), состояние клавиши необходимо изменить через программный код.
Во-вторых, в процесс Form_Load вставьте соответствующий программный код. следующее
Подформа_Загрузка()
'Задайте свойства мультимедийного устройства перед подачей команды OPEN
Form1.MMControl1.Notify=False
Форма1.MMControl1.Wait=Истина
Form1.MMControl1.Shareable=False
Form1.MMControl1.DeviceType="WaveAudio"
Form1.MMControl1.FileName="c:windowss"
Ммдатадемо.wav"
Form1.MMControl1.Command="Открыть"
EndSub
Наконец, запустите вышеуказанную программу, и клавиши управления станут черными. В это время вы можете использовать клавиши «Воспроизведение», «Запись» и другие для управления файлом данных DEMO.WAV. Например, вы можете услышать звуковой эффект .WAV, нажав кнопку «Воспроизвести» мышкой (компьютер должен быть оснащен устройством произношения).
Из приведенного выше утверждения нетрудно обнаружить, что VisualBasic использует элемент управления мультимедиа MCI.OCX для создания программы, которую легко освоить.
5. Примеры разработки мультимедийных приложений VisualBasic.
1. Воспроизведение музыки с компакт-диска
Многие мультимедийные программные системы включают в себя программное обеспечение проигрывателя лазерных дисков. С помощью средства управления мультимедиа MCI.OCX мы можем легко запрограммировать простой проигрыватель лазерных дисков, отвечающий нашим собственным требованиям.
В таблице 1 дано определение основных компонентов управления простым проигрывателем компакт-дисков, за которым следует исходный код программы, соответствующий каждому триггерному событию.
Полный листинг исходной программы выглядит следующим образом:
`Утилита проигрывателя компакт-дисков
«Перед запуском программы вставьте лазерный диск в привод CD-ROM». Кнопка «ЗАГРУЗИТЬ» запускает событие.
PrivateSubCommand1_Click()
`Загрузить запись компакт-диска
OnErrorGoToMCI_ERROR
MMControl1.Command="Открыть"
Онерроргото0
`Установить формат времени
MMControl1.TimeFormat=vbMCIFormatTmsf
`Закройте кнопку ЗАГРУЗИТЬ и отобразите изображение
Command1.Enabled=False
Изображение1.Изображение=Изображение3.Изображение
`Установить начальное количество дорожек
Label1.Caption="1"
ВыходSub
MCI_ОШИБКА:
Дисплейеррормессажебокс
ВозобновитьMCI_EXIT
MCI_ВЫХОД:
Выгрузить компакт-диск
EndSub
PrivateSubForm_Load()
MMControl1.Wait=Истина
MMControl1.UpdateInterval=0
`Установить тип устройства
MMControl1.DeviceType="CDAudio"
`Установите номер трека по умолчанию на 0
Label1.Caption="0"
ndSub
PrivateSubForm_Unload (CancelAsInteger)
MCITest.Show
EndSub
'Кнопка «Выход» запускает событие
PrivateSubMMControl1_EjectClick (CancelAsInteger)
Command1.Enabled=Истина
Картинка1.Картинка=Картинка2.Картинка
MMControl1.UpdateInterval=0
OnErrorGoToMCI_ERROR2
MMControl1.Command="Извлечь"
MMControl1.Command="Закрыть"
Онерроргото0
Label1.Caption="0"
Label3.BackColor=&H404040
ВыходSub
MCI_ERROR2:
Дисплейеррормессажебокс
РезюмеСледующий
EndSub
'Кнопка «вперед» запускает событие
PrivateSubMMControl1_NextCompleted (ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
EndSub
'Кнопка «Пауза» запускает событие
PrivateSubMMControl1_PauseClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
EndSub
'Кнопка «Воспроизвести» запускает событие
PrivateSubMMControl1_PlayClick(CancelAsInteger)
MMControl1.UpdateInterval=1000
Label1.Caption=Str$(MMControl1.Track)
EndSub
'Кнопка «Назад» запускает событие
PrivateSubMMControl1_PrevCompleted(ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
EndSub
PrivateSubMMControl1_StatusUpdate()
Label1.Caption=Str$(MMControl1.PositionAnd&HFF)
IfMMControl1.Mode=vbMCIModePlayThen
Label3.BackColor=&H80FF&
Еще
Label3.BackColor=&H404040
КонецЕсли
EndSub
'Кнопка «Стоп» запускает событие
PrivateSubMMControl1_StopClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
MMControl1.To=MMControl1.Start
MMControl1.Command="Искать"
ММКонтроль1.Трек=1
Label1.Caption="1"
EndSub
2. Воспроизведение файлов AVI (аудио-видеоинтерфейса).
Фильмы (включая звук и изображения) являются одним из видов мультимедийной информации, который больше всего беспокоит большинство компьютерных работников, а технология обработки фильмов также является одной из ключевых мультимедийных технологий. В мультимедийных системах файлы AVI (аудио-видеоинтерфейс) являются стандартным форматом для хранения фильмов (включая звуки и изображения). Эти файлы AVI обычно получаются путем захвата видеосигналов в реальном времени, или изображения могут быть получены с помощью сканера или с использованием. программное обеспечение для анимации. Поэтому аудио- и видеооперации в экранном окне становятся обработкой файлов AVI (суффикс файла — AVI). В реальной работе существует множество способов воспроизведения AVI-файлов (т.е. видео), среди которых наиболее простым и удобным является метод использования управления мультимедиа в Visual Basic. Ниже приведен конкретный пример, иллюстрирующий, как воспроизвести файл AVI: Предположим, что в текущем каталоге пользователя есть видео- и аудиофайл с именем DEMO.AVI, и использование VisulBasic для воспроизведения видео требует следующих шагов:
(1) Добавьте мультимедийный элемент управления MMControl, элемент управления графическим полем PictureBox и два компонента командной кнопки ComandButton в форму Visual Basic;
(2) Установите свойства каждого элемента управления, где форма называется Form1, мультимедийный элемент управления MMControl называется MMControl1, элемент управления графическим полем PictureBox называется Picture1, а два элемента управления командной кнопкой ComandButton называются Play и Close соответственно;
(3) Напишите исходный программный код каждого триггерного события и запустите его. Исходный код:
PrivateSubPlay_Click()
MMControl1.Filename="DEMO.AVI"
MMControl1.DeviceType=="АВИВИДЕО"
MMControl1.hWndDisplay=Изображение1.hWnd
MMControl1.Command="ОТКРЫТЬ"
ММКонтроль1.To=1
MMControl1.Command="ПОИСК"
MMControl1.Command="ИГРАТЬ"
EndSub
PrivateSubClose_Click()
MMControl1.Command="СТОП"
MMControl1.Command="ЗАКРЫТЬ"
EndSub
Стоит отметить, что перед воспроизведением файлов AVI сначала следует установить драйвер AVI (аудио-видео) под Windows. Имя драйвера AVI — MCIAVI.DRV. Его необходимо скопировать в каталог WINDOWS SYSTEM и добавить в раздел [MCI] файла SYSTEM.INI:
АВИВИДЕО=MCIAVI.DRV
Таким образом, при запуске Windows Windows автоматически установит драйвер AVI.
Вышеописанное описывает только процесс работы с использованием компонента управления мультимедиа для воспроизведения аудиофайлов (.WAV), записей компакт-дисков и аудио- и видеофайлов (.AVI). Фактически, компонент управления мультимедиа также можно использовать для воспроизведения файлов анимации (.FLI, .FLC), файлов MIDI и другой мультимедийной информации.
6. Заключение
Из предыдущего обсуждения нетрудно увидеть, что с помощью компонента управления мультимедиа MCI.OCX, предоставляемого Visual Basic, большинство пользователей компьютеров могут удобно, быстро и эффективно разрабатывать различные мультимедийные приложения. Но необходимо подчеркнуть, что при разработке и проектировании мультимедийных приложений Visual Basic, помимо использования компонентов управления мультимедиа, могут использоваться и другие средства, такие как вызов API-функций и т. д. (Ввиду длины это не обсуждается). здесь). Видно, что Visual Basic действительно является идеальным инструментом разработки как для профессиональных, так и для непрофессиональных разработчиков мультимедийного программного обеспечения.
Приложение 1. Определение типа устройства MCI
Тип устройстваОписание устройства
CDAudio проигрыватель лазерных дисков
Цифровой аудиоплеер DAT
DigitalVideo оборудование для динамического цифрового видеоизображения
Оборудование для воспроизведения анимации
Другие устройства MCI, для которых не дано стандартное определение.
Overlay имитирует устройство наложения видеоизображения
Секвенсор MIDI-секвенсора
Видеомагнитофон с программным управлением, дисковый рекордер
VideoDisc может использовать лазерные проигрыватели видеодисков с программным управлением.
WaveAudio - это устройство, воспроизводящее цифровой аудиосигнал???
Приложение 2 Список уникальных событий для компонентов управления мультимедиа
Описание события
Done завершает действие команды MCI (уведомление имеет значение true)
КнопкаНажмите кнопку «Нажмите кнопку»
Завершение команды выполнения кнопки ButtonCompleted
Кнопка ButtonGetFocus получает фокус ввода
ButtonLostFocusButton потерял фокус ввода
StatusUpdate обновляет информацию о состоянии объекта управления мультимедиа->