Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
Поиск по сайту

TOP-10 программ
Symantec Norton Ghost 9.0
Partition Magic 8.0.2 Pro
Xilisoft 3GP Video Converter v3.1.7.0616b
Norton AntiVirus 2005
Xilisoft 3GP Video Converter v2.1.52.831b
Антивирус Касперского Personal 5.0.303 beta 2
RAR Password Cracker 4.12
ABBYY PDF Transformer v1.00.820
Windows Movie Maker 2.6
MP3 To Ringtone Gold v3.02
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
 

   Программирование -> Delphi / Pascal -> Введение в DELPHI


Средства создания мультимедийных приложений

Содержание

Обзор

Что такое мультимедиа

Мультимедиа в Delphi

Компонент TMediaPlayer

Два вида программ, использующих мультимедиа

Пример программы с мультимедиа

 

 

      1. Обзор

Delphi позволяет легко и просто включать в программу такие мультимедийные объекты, как звуки, видео и музыку. В данном уроке обсуждается, как это сделать, используя встроенный в Delphi компонент TMediaPlayer. Подробно рассматриваются управление этим компонентом в программе и получение информации о текущем состоянии.

      1. Что такое мультимедиа

Точного определения, что же это такое, нет. Но в данный момент и в данном месте, наверное, лучше дать по-возможности наиболее общее определение и сказать, что "мультимедиа" - это термин относящийся к почти всем формам анимации, звукам, видео, которые используются на компьютере.

Давая такое общее определение, нужно сказать, что в данном уроке мы имеем дело с подмножеством мультимедиа, которое включает:

 

1. Показ видео в формате Microsoft's Video for Windows (AVI).

 

2. Воспроизведение звуков и музыки из MIDI и WAVE файлов.

 

Данную задачу можно выполнить с помощью динамической библиотеки Microsoft Multimedia Extensions для Windows (MMSYSTEM.DLL), методы которой инкапсулированы в компоненте TMediaPlay, находящийся на странице System Палитры Компонент Delphi.

Для проигрывания файлов мультимедиа может потребоваться наличие некоторого оборудования и программного обеспечения. Так для воспроизведения звуков нужна звуковая карта. Для воспроизведения AVI в Windows 3.1 (или WFW) требуется установить ПО Microsoft Video.

 

 

 

      1. Мультимедиа в Delphi

В Delphi есть компонент TMediaPlayer, который дает Вам доступ ко всем основным возможностям программирования мультимедиа. Данный компонент очень прост в использовании. Фактически, он настолько прост, что многим начинающим программистам будет проще создать свою первую программу, проигрывающую видео или музыку, нежели показывающую классическую надпись "Hello World".

Простоту использования можно воспринимать двояко:

 

· С одной стороны - это дает возможность любому создавать мультимедиа приложения.

 

· С другой стороны, можно обнаружить, что в компоненте реализованы не все возможности. Если Вы захотите использовать низкоуровневые функции, то придется копаться достаточно глубоко, используя язык Delphi.

 

В данном уроке не описываются подробности внутренних вызовов мультимедийных функций при работе компонента. Все что нужно знать - это то, что компонент называется TMediaPlayer, и что он дает доступ к набору подпрограмм, созданных Microsoft и называемых Media Control Interface (MCI). Эти подпрограммы дают программисту простой доступ к широкому кругу устройств мультимедиа. Собственно работа с TMediaPlayer интуитивно понятна и очевидна.

      1. Компонент TMediaPlayer

Для начала давайте создадим новый проект, затем поместим компонент TMediaPlayer (стр. System Палитры) на форму, как показано на рис.1.

 

Рис.1: Компонент TMediaPlayer на форме.

Компонент TMediaPlayer оформлен, как панель управления устройством с кнопками. Как и на магнитофоне, здесь есть кнопки "воспроизведение", "перемотка", "запись" и др.

Поместив компонент на форму, Вы увидите, что Инспектор Объектов содержит свойство "FileName" (см. рис.2). Щелкните дважды

Рис.2: Свойства TMediaPlayer в Инспекторе Объектов

на этом свойстве и выберите имя файла с расширением AVI, WAV или

MID. На рис.2 выбран AVI файл DELPHI.AVI. Далее нужно установить свойство AutoOpen в True.

После выполнения этих шагов программа готова к запуску. Запустив программу, нажмите зеленую кнопку "воспроизведение" (крайняя слева) и Вы увидите видеоролик (если выбрали AVI) или услышите звук (если выбрали WAV или MID). Если этого не произошло или появилось сообщение об ошибке, то возможны два варианта:

 

  1. Вы ввели неправильное имя файла.
  2. Вы не настроили правильным образом мультимедиа в Windows. Это означает, что либо у Вас нет соответствующего "железа", либо не установлены нужные драйверы. Установка и настройка драйверов производится в Control Panel, требования к "железу" приводятся в любой книге по мультимедиа (нужна звуковая карта, например совместимая с Sound Blaster).

 

Итак, Вы имеете возможность проигрывать AVI, MIDI и WAVE файлы просто указывая имя файла.

Еще одно важное свойство компонента TMediaPlayer - Display. Изначально оно не заполнено и видео воспроизводится в отдельном окошке. Однако, в качестве экрана для показа ролика можно использовать, например, панель. На форму нужно поместить компонент TPanel, убрать текст из св-ва Caption. Далее, для TMediaPlayer, в свойстве Display выбрать из списка Panel1. После этого надо запустить программу и нажать кнопку "воспроизведение" (см. рис.3)

 

Рис.3: Воспроизведение AVI на панели.

 

 

 

      1. Два вида программ мультимедиа

· Иногда приходится предоставлять пользователям простой путь для проигрывания максимально широкого круга файлов. Это означает, что Вам нужно будет дать пользователю доступ к жесткому диску или CD-ROM, и затем позволить ему выбрать и воспроизвести подходящий файл. В этом случае, на форме обычно располагается TMediaPlayer, предоставляющий возможность управления воспроизведением.

 

· Иногда программист может захотеть скрыть от пользователя существование компонента TMediaPlayer. То есть, воспроизвести звук или видео без того, чтобы пользователь заботился об их источнике. В частности, звук может быть частью презентации. Например, показ какого-нибудь графика на экране может сопровождаться объяснением, записанным в WAV файл. В течении презентации пользователь даже не знает о существовании TMediaPlayer. Он работает в фоновом режиме. Для этого компонент делается невидимым (Visible = False) и управляется программно.

      1. Пример программы с мультимедиа

 

В данной главе мы рассмотрим пример построения приложения с мультимедиа первого типа. Создайте новый проект (File | New Project). Поместите TMediaPlayer на форму; поместите компоненты TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox для выбора файла. В свойстве FileList для DirectoryListBox1 и FilterComboBox1 поставьте FileListBox1. В св-ве DirList для DriveComboBox1 поставьте DirectoryListBox1. В св-ве Filter для FilterComboBox1 укажите требуемые расширения файлов:

 

AVI File(*.avi)|*.avi

WAVE File(*.wav)|*.wav

MIDI file(*.MID)|*.mid

 

Пусть по двойному щелчку мышкой в FileListBox1 выбранный файл будет воспроизводиться. В обработчике события OnDblClick для FileListBox1 укажите

 

Procedure TForm1.FileListBox1DblClick(Sender:TObject);

begin

with MediaPlayer1 do

begin

Close;

FileName:=FileListBox1.FileName;

Open;

Play;

end;

end;

 

Внешний вид формы представлен на рис.4

 

Рис.4: Начальный вид проекта

 

Сохраните проект, запустите его, выберите нужный файл и дважды щелкните на него мышкой. MediaPlayer должен воспроизвести этот файл в отдельном окне.

Как уже говорилось выше, видеоролик можно воспроизводить внутри формы, например, на панели. Давайте слегка модифицируем проект и добавим туда панель TPanel (см. рис.5). В св-ве Display для MediaPlayer1 укажите Panel1. Нужно убрать надпись с панели (Caption)

и св-во BevelOuter = bvNone. Чтобы переключаться при воспроизведении с окна на панель - поместите TСheckBox на форму и в обработчике события OnClick для него запишите:

 

procedure TForm1.CheckBox1Click(Sender: TObject);

var

Start_From : Longint;

begin

with MediaPlayer1 do begin

if FileName='' then Exit;

Start_From:=Position;

Close;

Panel1.Refresh;

 

if CheckBox1.Checked then

Display:=Panel1

else

Display:=NIL;

 

Open;

Position:=Start_From;

Play;

end;

end;

 

Запустите проект и воспроизведите видеоролик. Пощелкайте мышкой на CheckBox.

 

Рис.5: Добавлена панель для воспроизведения видео и переключатель окно/панель.

 

Во время выполнения программы может потребоваться отобразить текущее состояние объекта MediaPlayer и самого ролика (время, прошедшее с начала воспроизведения, длину ролика). Для этого у объекта TMediaPlayer есть соответствующие свойства и события: Length, Position, OnNotify и др. Давайте добавим в проект прогресс-индикатор (TGauge), который отобразит в процентах, сколько прошло времени (см. рис.6). Для обновления показаний индикатора можно воспользоваться таймером. Поместите на форму объект TTimer, установите для него Interval = 100 (100 миллисекунд). В обработчике события OnTimer нужно записать:

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

with MediaPlayer1 do

if FileName<>'' then

Gauge1.Progress:=Round(100*Position/Length);

end;

 

Запустите проект, выберите файл (AVI) и щелкните на нем два раза мышкой. При воспроизведении ролика прогресс-индикатор должен отображать процент, соответствующий прошедшему времени (см. рис.6).

 

Рис.6: Законченное приложение для воспроизведения AVI, WAV и MDI файлов.

к оглавлению

 

 
Популярные книги

Технология программирования на C++. Начальный курс

Подробнее

Общая информатика. Универсальный курс

Подробнее

SQL для "чайников", 5-е издание

Подробнее


 
Новости ИТ
10.01.2009  Skype появился на Android и готовится к покорению iPhone
10.01.2009  Студенты-хакеры улучшат безопасность бостонского метро
09.01.2009  Exeda -- корпоративный цифровой ассистент с Android Linux
09.01.2009  Правительство Вьетнама массово переходит на Open Source
09.01.2009  Windows 7 build 7000
09.01.2009  Silicon Power представила скоростную SDHC
09.01.2009  CES 2009: RealView 360 3D Desktop Scanner - настольный 3D-сканер, один из первых в мире
09.01.2009  W90 - очень быстрый мультимедийный ноутбук ASUS «Ultimate-уровня»
09.01.2009  CES 2009: SanDisk представила семейство G3 - самых быстрых SSD-накопителей на флэш-памяти MLC
09.01.2009  ZOTAC GeForce GTX 285 и GTX 285 AMP! Edition - 3D-ускорители для геймеров на новом GPU NVIDIA
09.01.2009  Net Applications: в декабре доли Firefox и Chrome росли за счет IE
09.01.2009  Imation говорит о «новом классе» SSD и первом в отрасли полном наборе для модернизации на основе SSD
09.01.2009  Маршрутизатор D-Link Xtreme N DIR-685 может играть роль NAS, сервера печати... и цифровой фоторамки
09.01.2009  Очень тонкая фотокамера Pentax Optio P70 имеет разрешение 12 Мп
09.01.2009  pureSilicon 1TB Nitro - первый в мире 2,5-дюймовый SSD объемом 1 ТБ
09.01.2009  Дебютировали мобильные GPU ATI Mobility Radeon HD 4000
09.01.2009  NVIDIA GeForce GTX 285 и GTX 295 представлены официально
09.01.2009  Scythe выпустила процессорный кулер Mugen 2
09.01.2009  Optio E70 - новая компактная камера Pentax начального уровня
09.01.2009  Новый iPhone получит четырехъядерный процессор?
 
Полезно

 
Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100