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

Поиск
L



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



Последние комментарии
c
dealrattKi прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Это действительно радует меня. --- Бесподобное сообщение скачать fifa, скачать фифа а также [url=http://15fifa.ru/novosti-fifa-15]fifa 15 последние новости[/url] скачать фифа
intatryadebra прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
Revival RO is best free ro populair ragnarok online private server founded in 2017 2018. Revival pvp big free Ragnarok server is an online exciting free MMORPG called ragnarok online, it a fun server for MMORPG gamers in ASIA. This is a top 10 ragnarok online private server thats high on the list and top ranking with massive players online. We have many players from Asia like Malaysia, Indonesia, Philippines, Thailand, Singapore, China, Hong Kong All these players are here to play free private ragnarok online server and battle players all around the world. They want to collect the best items and gear to be strongest in War of Emperium, War of Emperium are guild wars in this free RO Server. You can play this game on android phone or tablet or pc client. Enjoy And have fun. ragnarok online server http://bit.ly/2tKyawS

Урок 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