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

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 1
Всего онлайн: 1
Зарегистрировано юзеров: 5977
Комментариев на сайте: 630
Новый юзер: deenama2



Последние комментарии
c
Theihpled прокомментировал "Урок 62 - Методы, наследование классов, операции с классами Delphi, (часть 4/6)":
Здравствуйте, Савельев Александр. У меня к вм небольшой вопрос по языку https://cloud.mail.ru/public/KFS1/dYUrFbaTU . Cпасибо за уроки.
Theihpled прокомментировал "Урок 54 - Потоки в Delphi, (часть 2/3)":
Кстати да. С потоками тоже ничего не вышло.



Мы в соцсетях
c
Delphi
Урок 42 - Пишем MediaPlayer, часть(2/7)

  В этом уроке мы поработаем над интерфейсом, добавим кнопки "Стоп", "Пауза" и т.д.

   Первое что мы добавим, это возможность выбора воспроизводимого файла, для этого вытащим на форму из предыдущего урока компонент TOpenDialog и дополним обработчик события OnClick у кнопки "Открыть":

procedure TForm1.Button1Click(Sender: TObject);
begin
	if OpenDialog1.Execute = false then exit; // Если файл не выбран то выходим из процедуры
	if Stream <> 0 then        // Если поток уже существует то освобождаем его
		BASS_StreamFree(Stream); // чтобы не было наложения звуков
	
	stream:= Bass_streamCreateFile(false, PChar(OpenDialog1.FileName),0,0,0); // Открываем файл
	
	if Stream = 0 then  // Если файл не загрузился
		ShowMessage('Ошибка файл не загружен!'); // Выводим ошибку
end;
   Диалог сделали, теперь кнопочки. Вытаскиваем 2 кнопки и называем их: "Пауза", "Стоп", соответственно. Разместим их как на рисунке:

Внешний вид


   В OnClick на первой кнопке пишем код:
procedure TForm1.Button3Click(Sender: TObject);
begin
  BASS_ChannelPause(stream); // Ставим на паузу
   И сразу напишем во второй:
procedure TForm1.Button4Click(Sender: TObject);
begin
	BASS_ChannelStop(stream); // Останавливаем воспроизведение
    BASS_CHANNELsetPosition(stream,0,0); // Возвращаем текущую позицию в начало
   Можно проверять, все должно работать как часы. Все готово, но не хватает немного информации о том, что играет, ограничимся выводом названия файла. Вытаскиваем Panel:

Внешний вид


   И допишем обработчик события OnClick на кнопке "Открыть":
procedure TForm1.Button1Click(Sender: TObject);
begin
...
	
	if Stream = 0 then  // Если файл не загрузился
		ShowMessage('Ошибка файл не загружен!') // Выводим ошибку
	else
		Panel1.Caption:= ExtractFileName(OpenDialog1.FileName); // Выводим имя файла
end;
   Вот что получилось, можете смело экспериментировать :)

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


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

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

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



аватар Добавил(а): Gerfegest [Новичок] Дата: 2014-12-04
Писал на Delphi XE6, постоянно выскакивала ошибка загрузки файла, проблема решилась после добавления в Stream BASS_UNICODE. Stream:= Bass_streamCreateFile(false, PChar(OpenDialog1.FileName),0,0,0 or BASS_UNICODE);




аватар Добавил(а): olegyt [Новичок] Дата: 2015-08-02




аватар Добавил(а): olegyt [Новичок] Дата: 2015-08-02




аватар Добавил(а): olegyt [Новичок] Дата: 2015-08-02