Урок 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 | |
у меня кнопки не работают. Нажимаю Открыть, Выбираю композицию. И после нажатия на кнопку играть ни чего не происходит. Почему? Что надо исправить?
|