Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?
Поиск
L


Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 15
Всего онлайн: 15
Зарегистрировано юзеров: 5762
Комментариев на сайте: 623
Новый юзер: Sevnday



Последние комментарии
c
N0E0O7 прокомментировал "Урок 1 - Инициализация OpenGL":
А у меня форма чёрная запускается
dimonsky прокомментировал "Урок 2 - Простые примитивы":
GetDC(handle) вместо canvas.handle, и убрать вызов FormResize. Тогда получается конфетка.



Мы в соцсетях
c
Delphi
Урок 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.

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

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

Зарегистрируйтесь или авторизуйтесь, чтобы скачать.

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 22 Мая 2013
Просмотров: 9893

Урок 40 - Панель быстрого запуска (часть 2/2) Урок 42 - Пишем MediaPlayer, часть(2/7)

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



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