Мультимедиа-возможности Delphi: воспроизведение, запись звука

 Воспроизведение звука

Звуковые фрагменты находятся в файлах с расширением WAV.

Например, вкаталоге C:\Winnt\Media можно найти файлы со стандартными звуками Windows. 

 

Следующая программа (вид ее диалогового окна приведен на рис. 11.6, а текст — в листинге 11.2) демонстрирует использование компонента MediaPlayer для воспроизведения звуковых фрагментов, находящихся в WAV-файлах.

 

Помимо компонента MediaPlayer на форме находится компонент ListBox и два компонента Label, первый из которых используется для вывода информационного сообщения, второй — для отображения имени WAV-файла, выбранного пользователем из списка.

 

Работает программа следующим образом. После появления диалогового окна воспроизводится "Звук Microsoft", затем пользователь может из списка выбрать любой из находящихся в каталоге C:\Windows\Media звуковых файлов и после щелчка на кнопке Воспроизведение услышать, что находится в этом файле.

Рис. 11.6. Форма программы Звуки Microsoft Windows

Значения измененных свойств компонента MediaPIayerl приведены в табл. Н.6, значения остальных свойств оставлены без изменения.

Таблица 11.6. Значения свойств компонента MediaPIayer1

 Листинг 11.2 Программа Звуки Microsoft Windows


 

Воспроизведение звука сразу после запуска профаммы активизирует процедура обработки события onFormActivate путем применением метода Play к компоненту MediaPiayer1 (действие этого метода аналогично щелчку на кнопке Воспроизведение). Эта же процедура формирует список WAV-файлов, находящихся в каталоге C:\Winnt\Media.

 

Для формирования списка используются функции FindFirst и FindNext, которые, соответственно, выполняют поиск первого и следующего (по отношению к последнему, найденному функцией FindFirst или FindNext) файла, удовлетворяющего указанному при вызове функций критерию. Обеим функциям в качестве параметров передаются маска WAV-файла (критерий поиска) и переменная структура searchRec, поле Name которой в случае успешного поиска будет содержать имя файла, удовлетворяющего критерию поиска.

Щелчок на элементе списка обрабатывается процедурой TForml.ListBoxlciick, которая выводит в поле метки Label2 имя файла, выбранного пользователем (во время работы программы свойство itemindex содержит номер элемента списка на котором выполнен щелчок).

 

В результате щелчка на одной из кнопок компонента MediaPiayeri активизируется процедура TForm1.MeciiaPlayerlclick, которая проверяет, какая из кнопок компонента была нажата. Если нажата кнопка Воспроизведение (btPlay), то в свойство FileNameкомпонента MediaPiayeri записывается имя выбранного пользователем файла, затем метод Open загружает этот файл и активизирует процесс его воспроизведения.

 

Наличие у компонента MediaPlayer свойства visible позволяет скрыть компонент от пользователя и при этом применять его для воспроизведения звука без участия пользователя. Например, следующая программа пересчитывает вес из фунтов в килограммы и сопровождает выдачу результата звуковым сигналом. В случае, если пользователь забудет ввести исходные данные или введет их неверно, программа выведет сообщение об ошибке, также сопровождаемое звуковым сигналом. Вид диалогового окна программы во время ее разработки приведен на рис. 11.7, значения свойств компонента MediaPiaer в табл. 11.7. Текст модуля программы приведен в листинге 11.3.

Рис. 11.7. Диалоговое окно программы Фунты-килограммы

Таблица 11.7. Значения свойств компонента MediaPlayer1

Листинг 11.3. Использование компонента MadiaPlayer для вывода звука      

 


Запись звука

 

В некоторых случаях программисту могут потребоваться специфические звуки или музыкальные фрагменты, которые не представлены на диске компьютера в виде WAV-файла. В этом случае возникает задача создания, или, как говорят, записи WAV-файла. 

Наиболее просто получить представление нужного звукового фрагмента в виде WAV-файла можно при помощи входящей в состав Windows программы Звукозапись. Программа Звукозапись, вид ее диалогового окна приведенна рис. 11.8, запускается из главного меню Windows при помоши команды Пуск | Программы | Стандартные [ Развлечения | Звукозапись.

Рис. 11.8. Диалоговое окно программы Звукозапись

 

Источником звука для программы Звукозапись может быть микрофон, аудио-CD или любое другое подключенное к линейному входу звуковой платы компьютера устройство, например аудиомагнитофон. Кроме того, возможно микширование (смешение) звуков различных источников. 

 

 

точник (или источники) звука. Чтобы это сделать, надо открыть Регулятор громкости (для этого надо щелкнуть на находящемся на панели задач изображении динамика и из появившегося меню выбрать команду Регулятор громкости) и из меню Параметры выбрать команду Свойства.
Затем в появившемся окне Свойства (рис. 11.9) выбрать переключатель Запись и в списке Отображаемые регуляторы громкости установить флажки, соответствующие тем устройствам, сигнал с которых нужно записать. После щелчка на кнопке ОК на экране появляется окно Уровень записи (рис. 11.10), используя которое, можно управлять уровнем сигнала (громкостью) каждого источника звука в общем звуке и величиной общего, суммарного сигнала, поступающего на вход программы Звукозапись. Величина сигнала задается перемещением движков соответствующих регуляторов.
Следует обратить внимание на то, что движки регуляторов группы Уровень доступны только во время процесса записи звука. На этом подготовительные действия заканчиваются. Теперь можно приступить непосредственно к записи звука.
Создается WAV-файл следующим образом. Сначала нужно определить ис-точник (или источники)звука. Чтобы это сделать, надо открыть Регуляторгромкости (для этого надо щелкнуть на находящемся на панели задач изо-бражении динамика и из появившегося меню выбрать команду Регуляторгромкости) и из меню Параметры выбрать команду Свойства. Затем в поя-вившемся окне Свойства (рис. 11.9) выбрать переключатель Запись и всписке Отображаемые регуляторы громкости установить флажки, соответствующие тем устройствам, сигнал с которых нужно записать.
После щелчка на кнопке ОК на экране появляется окно Уровень записи(рис. 11.10), используя которое, можно управлять уровнем сигнала (гром-костью) каждого источника звука в общем звуке и величиной общего,суммарного сигнала, поступающего на вход программы Звукозапись. Вели-чина сигнала задается перемещением движков соответствующих регуляторов. Следует обратить внимание на то, что движки регуляторов группыУровень доступны только во время процесса записи звука. На этом подго-товительные действия заканчиваются. Теперь можно приступить непосредственно к записи звука.
 
Рис. 11.9. Диалоговое окно Свойства
 

Рис. 11.10. Диалоговое окно Уровень записи позволяет управлять записываемым сигналом

 

Чтобы записать музыкальный или речевой фрагмент, надо запустить программу Звукозапись, активизировать диалоговое окно Уровень, выбрать устройство-источник звука, инициировать процесс звучания (если запись осуществляется, например с CD) и в нужный момент времени щелкнуть на кнопке Запись.

 

Во время записи в диалоговых окнах можно наблюдать изменение сигнала на выходе микшера (индикатор Громкость диалогового окна Уровень) и на входе программы записи. На рис. 11.11 в качестве примера приведен вид диалогового окна Звукозапись во время записи звука.

Рис. 11.11. Диалоговое окно Звукозапись во время записи

Для остановки процесса записи следует щелкнуть на кнопке Стоп.

Сохраняется записанный фрагмент в файле обычным образом, т. е. выбором из меню Файл команды Сохранить или Сохранить как. При выборе команды Сохранить как можно выбрать формат, в котором будет сохранен записанный звуковой фрагмент.

Существует несколько форматов звуковых файлов. В частности, возможно сохранение звука с различным качеством как стерео, так и моно. Здесь следует понимать, что чем выше качество записи, тем больше места на диске компьютера требуется для хранения соответствующего WAV-файла. Считается, что для речи приемлемым является формат "22050 Гц, 8 бит, моно", а музыки — "44100 Гц, 16 бит, моно" или "44100 Гц, 16 бит, стерео".


Просмотр видеороликов и анимации

 

Помимо воспроизведения звука, компонент MediaPiayer позволяет просматривать видеоролики и мультипликации, представленные как AVI-файлы (AVI — это сокращение от Audio Video Interleave, что переводится как чередование звука и видео, т. е. AVI-файл содержит как звуковую, так и видеоинформацию).

Процесс использования компонента MediaPiaer для посмотра содержимого AVI-файла рассмотрим на примере программы, которая в результате щелчка на командной кнопке воспроизводит на поверхности формы простую сопровождаемую звуковым эффектом мультипликацию -- вращающееся по часовой стрелке слово Delphi (файл delphi.avi, содержащий этот мультик, находится на прилагаемом к книге диске).

 

Вид диалогового окна программы приведен на рис. 11.12, а значения свойств компонента MediaPlayerl — в табл. 11.8.

Рис. 11.12. Форма и диалоговое окно программы Использование MediaPlayer

Таблица 11.8. Значения свойств компонента MediaPlayer1

 

Создается форма приложения обычным образом. Компонент Panell используется в качестве экрана, на который осуществляется вывод анимации, и его имя принимается в качестве значения свойства Display компонента MediaPlayerl. Поэтому сначала к форме лучше добавить компонент panel и затем — MediaPlayer. Такой порядок создания формы позволяет установить значение свойства Display путем выбора из списка.

 

Следует особо обратить внимание на то, что размер области вывода анимации на панели определяется не значениями свойств Width и Height панели (хотя их значения должны быть как минимум такими же, как ширина и высота анимации). Размер области определяется значением свойства DisplayRect компонента MediaPlayer. Свойство DisplayRect ВО Время разработки программы недоступно (его значение не выводится в окне Object Inspector). Поэтому значение свойства DisplayRect устанавливается во время работы программы в результате иыполнения инструкции MediaPlayerl.DisplayRect;=Rect(0, 0, 60, 60).

 

Замечание: Чтобы получить информацию о размере кадров AVI-файла, надо, используя возможности Windows, открыть папку, в которой находится этот файл, щелкнуть правой кнопкой мыши на имени файла, выбрать команду Свойства и в появившемся диалоговом окне — вкладку Сводка, в которой выводится подробная информация о файле, а том числе и размер кадров.

Текст программы приведен в листинге 11.4.

 

Листинг 11.4. Воспроизведение анимации, сопровождаемой звуком

 

Процесс воспроизведения анимации активизируется применением метода Play, что эквивалентно нажатию кнопки Play в случае, если кнопки компонента MediaPlayer доступны пользователю.

dle

Помоги проекту! Расскажи друзьям об этом сайте: