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

Поиск
L



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



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



Мы в соцсетях
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