Среди новичков и профессионалов
всегда существует необходимость в готовых
компонентах и исходных кодах, ведь являясь
ассом в графике не всегда разберешься с
звуками ,или когда пишешь прикладную
офисную программу надо как-то сделать и
приятный интерфейс. Я сам сталкивался с
подобной проблемой, когда делал свои
программы. В данной статье я предлагаю
начать рассматривать некоторые
полезные компоненты, и основные
принципы работы с ними...
Начнем пожалуй со звукового
компонента X-audio ,он распространяется бесплатно
( вам того же желает) и пригоден для работы с
MP3 форматом. Скачать его можно на www.xaudio.com
.Зайдя на сайт , войдите в меню for Developers и
прочитайте лицензию (в ее конце пароль и
логин для скачивания ).Для установки просто
запустите xaudioplayer.pas и установите его в новый
пакет (package).Если все прошло нормально ,
среди компонентов появится нечто ,вроде
черного круга с красной буквой "х".
Работать с ним просто как для
новичков, так и для экспертов (хотя
последним лучше писать подобное самим).В
комплекте с вашей программой обязательно
должен идти xaudio.dll ,иначе ничего не будет
работать.
Для проигрывания Mp3 файла
достаточно ввести следующий код:
xaudioplayer1.inputopen('путь к файлу');
xaudioplayer1.play;
Стоит сразу сказать, что если вы
пишете mp3 плеер ,или часто используете звук
на событие формы tform1.onclose надо поставить
другой код:
xaudioplayer.stop;
xaudioplayer.inputclose;
Иначе, после закрытия
приложение будет играть остаток файла в буфере,
получится эффект "зависания".
Помимо этого, компонент
позволяет снимать ID3Tag , для этого в
свойстве PlayerNotifyStreamProperties надо набрать :
это добавьте в описательную
часть процедуры
type
PropertyArray = array[0..1024] of XA_Property;
PPropertyArray = ^PropertyArray;
var
PropertyList: PPropertyArray;
а это в процедуру
PropertyList := PPropertyArray(Properties) ;
"Индикатор строкового типа":=(PropertyList[8].string_value );
это название песни
"Индикатор строкового типа":=(PropertyList[7].string_value);
а это исполнитель
Также, можно снимать состояние
плеера, например если вы хотите узнать
когда кончился файл то в PlayerNotifyPlayerState надо
сделать так:
if state=3 then ..........(тут можно заставить файл
играться снова).
Ну вот, поигравшись с этими
знаниями можно склепать неплохой MP3 плеер
или конвертер в Wav, к программе поставляется
также пример и вариант для C++.
Надеюсь вам понравилось.
В следующий раз поведаю о чем-нибудь
графическом , а также научу прятать
программу в трэй