AxWindowsMediaPlayer.uiMode property
The uiMode property gets or sets a value indicating which controls are shown in the user interface.
Syntax
Property value
A System.String that is one of the following values.
Value | Description | Audio example | Video example |
---|---|---|---|
invisible | Windows Media Player is embedded without any visible user interface (controls, video or visualization window). | (Nothing is displayed.) | (Nothing is displayed.) |
none | Windows Media Player is embedded without controls, and with only the video or visualization window displayed. | ||
mini | Windows Media Player is embedded with the status window, play/pause, stop, mute, and volume controls shown in addition to the video or visualization window. | ||
full | Default. Windows Media Player is embedded with the status window, seek bar, play/pause, stop, mute, next, previous, fast forward, rewind, and volume controls in addition to the video or visualization window. | ||
custom | Windows Media Player is embedded with a custom user interface. Can only be used in C++ programs. | (Custom user interface is displayed.) | (Custom user interface is displayed.) |
Remarks
This property specifies the appearance of the embedded Windows Media Player. When uiMode is set to «none», «mini», or «full», a window is present for the display of video clips and audio visualizations. This window can be hidden in mini or full mode by setting the height attribute of the OBJECT tag to 40, which is measured from the bottom, and leaves the controls portion of the user interface visible. If no embedded interface is desired, set both the width and height attributes to zero.
If uiMode is set to «invisible», no user interface is displayed, but space is still reserved on the page as specified by width and height. This is useful for retaining page layout when uiMode can change. Additionally, the reserved space is transparent, so any elements layered behind the control will be visible.
If uiMode is set to «full» or «mini», Windows Media Player displays transport controls in full-screen mode. If uiMode is set to «none», no controls are displayed in full-screen mode.
If the window is visible and audio content is being played, the visualization displayed will be the one most recently used in Windows Media Player.
If uiMode is set to «custom» in a C++ program that implements IWMPRemoteMediaServices, the skin file indicated by IWMPRemoteMediaServices.GetCustomUIMode is displayed.
During full-screen playback, Windows Media Player hides the mouse cursor when enableContextMenu equals false and uiMode equals «none».
Сегодня:
— 0 — 0 — 0
Последние:
— 24.08, 10:44 / #6695
— 29.03, 23:32 / #6682
— 30 апреля 2012
Сейчас онлайн:
На сайте — 11
На IRC-канале — 2
Написание простого медиа-проигрывателя (часть 1)
Простейший медиа-проигрыватель можно создать стандартными средствами 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.
Пришло время запрограммировать пункт меню «Открыть«. Откройте дизайнер меню и дважды щёлкните по нужному пункту — откроется редактор кода. В этом месте следует написать:
Метод Execute открывает диалог и, если пользователь не нажал «Отмена«, то функция возвращает значение True, а в FileName записывается путь к выбранному файлу. Затем мы присваиваем свойству URL проигрывателя выбранный файл. Запустите программу и попробуйте открыть файл. Всё должно работать, файл должен воспроизводиться.
Теперь давайте приведём окно проигрывателя к нормальному виду. Сам проигрыватель нужно растянуть на всю ширину окна — измените его свойство Align на alClient. Саму форму стоит сделать поменьше, т.к. наш проигрыватель пока что воспроизводит только аудио-файлы. На мой взгляд, для формы можно установить ширину (Width) равной 300, а высоту (Height) — 200. Наконец, можно изменить вид окна и установить BorderStyle в значение bsSizeToolWin, а заголовок (Caption) — «Simple Media Player«.
Теперь запрограммируем пункт «Выход» — для этого следует написать в его обработчике всего одну строку:
Этот метод закрывает текущую форму (Self — объект, выбранный по умолчанию, форма) и завершает приложение.
Теперь нужно сделать в меню элементарные команды управления воспроизведением — Start, Stop, Pause. Конечно, в проигрывателе и без того есть существующие кнопки, но они должны иметь своё отражение и в меню.
Для начала добавьте в заглавную строку меню (туда, где «Файл«) пункт «Управление«. Затем добавьте два пункта — «Старт / Стоп» и «Пауза«. Запрограммировать эти команды легко. Для управление воспроизведением служит набор методов Controls, а узнать текущее состояние проигрывателя можно из свойства PlayState. Вот как выглядит обработчик пункта «Старт / Стоп«:
А вот обработчик «Паузы«:
Запустите программу и проверьте её работоспособность.
Как видите, мы создали сравнительно простой, но рабочий проигрыватель. В следующий раз мы продолжим его разработку. Примерное изображение окна программы после выполнения всех действий, описанных в статье, показано на рисунке.
Автор: Ерёмин А.А.
Статья добавлена: 16 февраля 2006
Зарегистрируйтесь/авторизируйтесь,
чтобы оценивать статьи.
Статьи, похожие по тематике
Для вставки ссылки на данную статью на другом сайте используйте следующий HTML-код:
Ссылка для форумов (BBCode):
Быстрая вставка ссылки на статью в сообщениях на сайте:
<
<<статья:17>> — полноценная HTML-ссылка на статью (текст ссылки — название статьи).
Поделитесь ссылкой в социальных сетях:
Комментарии читателей к данной статье
Репутация: нет | |
Репутация: нет | |
Репутация: нет | |
Репутация: нет | |
Репутация: нет | |
Репутация: +40 | |
Репутация: нет | |
Репутация: +40 | |
Репутация: нет | я впервый раз пробую сделать что то подобное и у меня неполучилось хотя внешний вид как на картинке а вот с кодом чет нетак скажите что unit Unit1; uses type var procedure TForm1.N2Click(Sender: TObject); procedure TForm1.N4Click(Sender: TObject); procedure TForm1.N5Click(Sender: TObject); procedure TForm1.N6Click(Sender: TObject); procedure TForm1.N7Click(Sender: TObject); Оставлять комментарии к статьям могут только зарегистрированные пользователи. |