Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Универсальный проигрыватель MediaPlayer

CuBook2.675

В C++Builder имеется компонент MediaPlayer - универсальный проигрыватель аудио и видео информации. Этот медиа-плеер расположен на странице System библиотеки компонентов. Он инкапсулирует интерфейс управления носителями (Media Control Interface - MCI) 32-разрядных Windows.
 
Компонент можно использовать в двух режимах. Во-первых, можно предоставить пользователю возможность управлять воспроизведением информации с помощью кнопочного интерфейса, напоминающего панель управления различными проигрывателями. Во-вторых, можно сделать сам компонент невидимым и управлять воспроизведением информации с помощью его методов.
 
Назначение кнопок

Кнопка Действие
Play Воспроизведение.
Pause Пауза воспроизведения или записи. Если медиа-плеер в момент щелчка уже в состоянии паузы, то воспроизведение или запись возобновляются.
Stop Останов воспроизведения или записи.
Next Переход на следующий трек или на конец.
Prev Переход на предыдущий трек или на начало.
Step Перемещение вперед на заданное число кадров.
Back Перемещение назад на заданное число кадров.
Record Начало записи.
Eject Освобождение объекта, загруженного в устройство.
К каждой кнопке медиа-плеера соответствует метод, осуществляющий по умолчанию требуемую операцию: Play, Pause, Stop, Next, Previous, Step, Back, StartRecording, Eject.
Тип устройства мультимедиа, с которым работает медиа-плеер, определяется его свойством DeviceType. Если устройство мультимедиа хранит объект воспроизведения в файле, то имя файла задается свойством FileName. По умолчанию свойство DeviceType имеет значение dtAutoSelect. Это означает, что медиа-плеер пытается определить тип устройства исходя их расширения имени файла FileName.
 
Еще одно свойство MediaPlayer - AutoOpen. Если оно установлено в true, то медиа-плеер пытается открыть устройство, указанное свойством DeviceType, автоматически во время своего создания в процессе выполнения приложения.
 
Воспроизведение видео информации по умолчанию производится в окно, которое создает само открытое устройство мультимедиа. Однако это можно изменить, если в свойстве Display указать оконный элемент, в котором должно отображаться изображение. Это может быть, например, форма или панель. Можно также задать в свойстве DisplayRect типа TRect (свойство только времени выполнения) прямоугольную область этого окна, в которую должно выводиться изображение. Для задания свойства DisplayRect можно использовать функцию Rect. Однако в данном свойстве использование этого типа не совсем обычно. Первые две координаты, как и обычно, задают положение левого верхнего угла изображения. А два следующих числа задают ширину и высоту изображения, а не координаты правого нижнего угла.
 
В компоненте MediaPlayer определены события OnClick и OnNotify. Первое из них происходит при выборе пользователем одной из кнопок медиа-плеера и определено как:
enum TMPBtnType (btPlay, btPause, btstop, btNext, btPrev, btstep, btBack, btRecord, btEject);
void __fastcall Click(TObject *Sender, TMPBtnType Button, bool &DoDefault);
Параметр Button указывает выбранную кнопку. Параметр DoDefault, передаваемый по ссылке, определяет выполнение (при значении true по умолчанию) или отказ от выполнения стандартного метода, соответствующего выбранной кнопке.
 
Событие OnNotify происходит после возвращения очередного метода, если свойство медиа-плеера Notify было установлено в true. Способ возврата любого метода медиа-плеера определяется свойством Wait. Если установить Wait равным false, то возвращение управления в приложение происходит сразу после вызова метода, не дожидаясь завершения его выполнения. Таким образом, задав Notify равным true и Wait равным false, можно обеспечить немедленный возврат в приложение и отображения пользователю текущего состояния объекта мультимедиа.
 
Свойства Notify и Wait действуют только на один очередной метод. Поэтому их значения надо каждый раз восстанавливать в обработчиках событий OnClick или OnNotify.
В обработчиках событий можно читать свойство Mode, характеризующее текущее состояние устройства мультимедиа. Можно также читать и устанавливать ряд свойств, характеризующих размер воспроизводимого файла и текущую позицию в нем.
 
Пример

Оператор задает для вывода область с координатами левого верхнего угла (10,10), длиной и шириной, равными 200.
MediaPlayer1->DisplayRect = Rect(10,10,200,200);
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Защитный код Обновить