Воспроизведение звуков

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Воспроизведение звуков

Сообщение Lie » 19.03.2011 14:55:29

На форме присутствуют к примеру две кнопки. Хочется добиться того, чтобы при нажатии на btn1 вопроизводился звук, соответственно при нажатии на btn2 воспроизводился другой звук (wave file). ПРобовал делать я через "aplay", "play" и "mplayer". В итоге получалось следующее: Нажимаю btn1, воспроизводится звук и происходит зарержка - кнопка в стостоянии нажатия до тех пор, пока файл не проиграется полностью, и в это время невозможно нажать вторую кнопку.
Подскажите пожалуйста, как этого избежать?
Lie
незнакомец
 
Сообщения: 2
Зарегистрирован: 16.03.2011 18:12:21

Re: Воспроизведение звуков

Сообщение Nik » 19.03.2011 15:55:23

Как вариант - функции воспроизведения запускать в разных потоках. Или воспользоваться библиотекой типа BASS - там такие проблемы обычно не возникают.
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Воспроизведение звуков

Сообщение Сквозняк » 19.03.2011 15:58:04

В виндовсе есть комманда start, работает без багов
Код: Выделить всё
start mplayer opr02OBE.flv

В линуксе аналог комманды выглядит так
Код: Выделить всё
nohup mplayer opr02OBE.flv &

Кроме того, тебе нужно будет засекать время начала воспроизведения и игнорировать события нажатия "музыкальной клавиши" время_необходимое_на_воспроизведение + ~100мс.
Сквозняк
энтузиаст
 
Сообщения: 1123
Зарегистрирован: 29.06.2006 22:08:32

Re: Воспроизведение звуков

Сообщение Lie » 19.03.2011 16:32:25

Оо, большое спасибо))
Lie
незнакомец
 
Сообщения: 2
Зарегистрирован: 16.03.2011 18:12:21

Re: Воспроизведение звуков

Сообщение Odyssey » 19.03.2011 17:16:02

А если запуск происходит через TProcess, можно просто убрать у него флаг poWaitOnExit
Код: Выделить всё
AProcess.Options := AProcess.Options - [poWaitOnExit];
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 43

Рейтинг@Mail.ru
cron