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

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 2
Всего онлайн: 2
Зарегистрировано юзеров: 6358
Комментариев на сайте: 645
Новый юзер: Realtyvaday



Последние комментарии
c
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
GZip псевдоархив, на мой вопрос тоже не отвечают, как распаковать отдельные файлы/папки...
Pingitrus прокомментировал "Урок 71 - Работа с сжатыми файлами":
Есть еще кто нибудь живой на этом сайте, кто сможет помочь? Так то все работает, zip и rar распаковывает, но у меня есть файл dat который сжат GZip, почему то его не удается распаковать или так не получится так как этот файл не является архивом или является?)) пишет ошибку что неверная функция



Мы в соцсетях
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
Просмотров: 11568

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