Название: Остановить воспроизведение звука Отправлено: Firefox от Апрель 05, 2010, 19:44 Здравствуйте. сталкнулась с такой проблемой: у меня в таймере воспроизводиться звук. воспроизвожу через QSound play(). первый вопрос функция isFinished() срабатывает только есть в setLoop(2) не меньше повторений. с 1 выдаёт всегда true, есть в примечании об этом написано, но нельзя ли как-то обойти. и второй вопрос. как остановить немедленно воспроизведение в Windows. если делать stop(), то звук доигрывается до конца и только потом останавливается. для меня это не приемлемо.
Название: Re: Остановить воспроизведение звука Отправлено: break от Апрель 05, 2010, 23:22 Цитировать у меня в таймере воспроизводиться звук. воспроизвожу через QSound play(). первый вопрос функция isFinished() срабатывает только есть в setLoop(2) не меньше повторений. с 1 выдаёт всегда true, есть в примечании об этом написано, но нельзя ли как-то обойти а какой эффект нужен? не совсем понятно...Цитировать если делать stop(), то звук доигрывается до конца и только потом останавливается. для меня это не приемлемо. может сначала pause() а потом stop() попробовать? Название: Re: Остановить воспроизведение звука Отправлено: Sergeich от Апрель 06, 2010, 00:19 Под виндой юзая QSound никак. Пользуй phonon.
Название: Re: Остановить воспроизведение звука Отправлено: Firefox от Апрель 06, 2010, 09:23 нужно вот для чего. в таймере раз в 5 секунд делается такая последовательность.выводиться 4 буквы текста, ожидание в 2 секунды, в другое текстовое поле выводиться число букв выведенных.всё это время должна играть музыка. я её запускаю перед началом таймера. а в таймере проверяю, если файл закончил воспроизведение, то воспроизвести ещё раз. когда текст закончит выводиться музыка тоже должна закончиться. а по команде stop() она не заканчивается пока не закончиться цикл воспроизведения. а длина файла звукового минута, приходиться ждать пока он закончиться.
фононом пользоваться не умею и не хочу из-за такой мелочи. может есть функции WinAPI, которые реализуют воспроизведение и останавливают сразу? Название: Re: Остановить воспроизведение звука Отправлено: kuzulis от Апрель 06, 2010, 10:30 Цитировать может есть функции WinAPI, которые реализуют воспроизведение и останавливают сразу? DirectSound, но это не WinAPI (вроде).Для дельфей много компонентов и примеров под это дело, думаю нетрудно будет переделать под C++ :) Вот к примеру первая ссылка: http://www.realcoding.net/article/view/4131 PS: я сам когда-то давно это использовал (в дельфях) :) Название: Re: Остановить воспроизведение звука Отправлено: Sergeich от Апрель 06, 2010, 12:10 может есть функции WinAPI, которые реализуют воспроизведение и останавливают сразу? http://msdn.microsoft.com/en-us/library/dd743680(VS.85).aspx :BOOL PlaySound( LPCTSTR pszSound, HMODULE hmod, DWORD fdwSound ); SND_ASYNC The sound is played asynchronously and PlaySound returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call PlaySound with pszSound set to NULL. Название: Re: Остановить воспроизведение звука Отправлено: Firefox от Апрель 06, 2010, 19:42 Спасибо)попробую.
|