Урок 41 - Пишем MediaPlayer, часть(1/7)

   Мы начинаем писать MediaPlayer с использованием звуковой библиотеки Bass.

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

   Первое Что нам нужно сделать, это сохранить нашу программу и засунуть туда содержимое архива, который вы найдете в конце урока, там будет сама библиотека и заголовочный файл к ней. Ну а теперь пропишем модуль bass.pas в Uses и можно приступать.

   Создаем обработчик события OnCreate Form1 и заполняем его кодом:

procedure TForm1.FormCreate(Sender: TObject);
begin
	if Bass_Init(-1, 44100, 0, handle, nil) = false then // Если произошла ошибка
		ShowMessage('Не удалось инициализировать поток');
end;
   Тут мы инициализируем поток, где и будет наш звук, а при закрытии на нужно этот поток убрать. Для этого создадим обработчик события OnDestroy:
procedure TForm1.FormDestroy(Sender: TObject);
begin
	BASS_FREE(); // Освобождаем поток
end;
   Далее вытаскиваем на форму 2 кнопки:

Внешний вид
:)


   И на первой назначим обработчик события OnClick и пишем код:
procedure TForm1.Button1Click(Sender: TObject);
begin
	stream:= Bass_streamCreateFile(false, PChar('1.mp3'),0,0,0); // открываем файл 1.mp3
end;
   Еще необходимо объявить одну глобальную переменную Stream: HStream;. также создадим обработчик второй кнопки:
procedure TForm1.Button2Click(Sender: TObject);
begin
	Bass_ChannelPlay(stream, false); // Проигрываем наш 1.mp3
end;
   Также можно зациклить воспроизведение, передав вместо false, true.

   Проверим... у меня все работает!

Удачи!
Встретимся в следующем уроке!




Добавил(а): HaHwE Дата: 2013-06-03
подскажите нубу где находится Uses?



Добавил(а): Klesh Дата: 2013-06-05
5 строчка сверху, в новом проекте.



Добавил(а): Joker1999obp Дата: 2013-10-23
у меня не работают кнопки почемуто



Добавил(а): Nuclearmetal Дата: 2013-11-14
Все подключил, все сделал. Кнопки работают. Вот только после загрузки мп3 файла, при нажатии на кнопку "играть" - ничего не происходит. И вот что делать? Пробовал 2 варианта, и через опендиалог и через прямой путь к файлу



Добавил(а): Nuclearmetal Дата: 2014-03-15
Нашел проблему... нужно использовать AnsiChar, иначе играть не будет



Добавил(а): _Bes_ Дата: 2014-03-29
Куда и как добавлять библиотеки? и как прописывать модуль в Uses?



Добавил(а): Armor46 Дата: 2014-10-13
у меня кнопки не работают. Нажимаю Открыть, Выбираю композицию. И после нажатия на кнопку играть ни чего не происходит. Почему? Что надо исправить?


    No results found.
Отменить.