Простейший медиа-проигрыватель можно создать стандартными средствами
Windows. Существуют модули, которые доступны из любого языка
программирования - это ActiveX. Delphi в этом плане не
исключение. Встроенный в систему Windows Media Player имеет
собственный ActiveX-модуль, который мы легко можем использовать в своей
программе. Правда, кардинально изменить в нём что-либо не получится. В
данной статье я покажу пример, как использовать этот компонент.
Для начала ActiveX-компонент (сокращённо
AX) нужно интегрировать в оболочку
Delphi. Делается это легко: открываем диалоговое окно Component
- Import ActiveX Control. В разных версиях Delphi этот пункт
меню может называться по-разному, но ключевым остаётся слово ActiveX. В
открывшемся окне в списке компонент найдите строку Windows Media Player.
Нажмите кнопку Install. В появившемся окне можно указать, в
какой пакет следует установить компонент. Можно оставить всё по умолчанию и
нажать ОК. После этого на вкладке ActiveX
палитры компонент появится кнопка WindowsMediaPlayer. Теперь
можно приступить к созданию проигрывателя.
Для начала поместите компонент на форму - щёлкните по его
значку и затем по форме. Вы увидите знакомое изображение - изображение
проигрывателя. Его внешний вид зависит от версии установленного в системе
компонента. Примерный вид того, что вы увидите, изображён на рисунке 1.
Для начала давайте сделаем возможность открытия нужного файла.
За путь к файлу, который нужно воспроизводить, отвечает свойство URL
типа WideString (строка). Давайте сделаем для программы меню, куда и
добавим нужный нам пункт. Поместите на форму TMainMenu
(страница Standard). Дважды щёлкните по значку TMainMenu,
лежащему на форме. Откроется дизайнер меню. Выделите единственный пункт в
заголовке меню и в его свойстве Caption напишите "Файл".
Затем щёлкните по созданному пункту и снизу появится ещё одна пустая строка. Там
и введите название нашего пункта - "Открыть". Следующей строкой давайте
создадим разделитель для меню - в свойстве Caption поставьте
один-единственный символ - минус ("-"). Следующей строкой сделайте
пункт "Выход". Ну вот, программа уже имеет меню, хотя и небольшое.
Теперь нужно связать пункт меню с диалогом открытия файла. Найдите компонент
TOpenDialog на странице Dialogs и поместите его на
форму. Активируйте свойство Filter и нажмите на кнопку с тремя
точками ("..."). В появившемся окне введите желаемые типы
файлов. В поле Filter Name нужно ввести описание типов файлов,
а в поле Filter - сам фильтр. Пример на рисунке 2.
Чтобы с компонентом было удобно работать, измените его
свойство Name на MediaPlayer.
Выделите компонент и перейдите в окно Object Inspector.
Свойств (Properties) у компонента не очень много, а вот событий
(Events) гораздо больше. Но мы используем лишь некоторые из
них.
Для удобства, компонент MainMenu1 переименуем в
MainMenu, а OpenDialog1 - в OpenDialog.
Пришло время запрограммировать пункт меню "Открыть".
Откройте дизайнер меню и дважды щёлкните по нужному пункту - откроется редактор
кода. В этом месте следует написать:
if OpenDialog.Execute then
MediaPlayer.URL:=OpenDialog.FileName;
Метод Execute открывает диалог и, если
пользователь не нажал "Отмена", то функция возвращает значение
True, а в FileName записывается путь к выбранному
файлу. Затем мы присваиваем свойству URL проигрывателя
выбранный файл. Запустите программу и попробуйте открыть файл. Всё должно
работать, файл должен воспроизводиться.
Теперь давайте приведём окно проигрывателя к нормальному виду.
Сам проигрыватель нужно растянуть на всю ширину окна - измените его свойство
Align на alClient. Саму форму стоит сделать
поменьше, т.к. наш проигрыватель пока что воспроизводит только аудио-файлы. На
мой взгляд, для формы можно установить ширину (Width) равной
300, а высоту (Height) - 200.
Наконец, можно изменить вид окна и установить BorderStyle в
значение bsSizeToolWin, а заголовок (Caption)
- "Simple Media Player".
Теперь запрограммируем пункт "Выход" - для этого
следует написать в его обработчике всего одну строку:
Self.Close;
Этот метод закрывает текущую форму (Self -
объект, выбранный по умолчанию, форма) и завершает приложение.
Теперь нужно сделать в меню элементарные команды управления
воспроизведением - Start, Stop, Pause.
Конечно, в проигрывателе и без того есть существующие кнопки, но они должны
иметь своё отражение и в меню.
Для начала добавьте в заглавную строку меню (туда, где "Файл")
пункт "Управление". Затем добавьте два пункта - "Старт / Стоп"
и "Пауза". Запрограммировать эти команды легко. Для управление
воспроизведением служит набор методов Controls, а узнать
текущее состояние проигрывателя можно из свойства PlayState.
Вот как выглядит обработчик пункта "Старт / Стоп":
if MediaPlayer.PlayState = wmppsPlaying then
MediaPlayer.Controls.Stop
else
MediaPlayer.Controls.Play;
А вот обработчик "Паузы":
if MediaPlayer.PlayState =wmppsPlaying then
MediaPlayer.Controls.Pause;
Запустите программу и проверьте её работоспособность.
Как видите, мы создали сравнительно простой, но рабочий
проигрыватель. В следующий раз мы продолжим его разработку. Примерное
изображение окна программы после выполнения всех действий, описанных в статье,
показано на рисунке.
|