Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
9 / 9 / 1
Регистрация: 25.10.2009
Сообщений: 152
1

Как остановить проигрывание звука?

12.03.2012, 20:06. Показов 2368. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет) пишу программу в WindowsForm. на форме есть кнопка, которая открывает WAV-файл и проигрывает (код взят отсюда http://www.mirgames.ru/article... sound.html)
есть ещё одна кнопка, которая должна останавливать проигрывание мелодии. не могу понять, что написать в её код, чтобы остановить воспроизведение? я пробовала так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// часть кода, где идёт воспроизведение сделала отдельной функцией, на вход которой
//подаём булеву переменную, которая при нажатии кнопки "стоп" должна принять значение false.
void(bool c)
{
if (c)
{
        do
        {
                pSoundBuffer->GetStatus(&hrStatus);
        }
        while(hrStatus==DSBSTATUS_PLAYING);
}
}
но это не работает. при воспроизведении кнопка стоп даже не нажимается... помогите, кто может, пожалуйста! заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2012, 20:06
Ответы с готовыми решениями:

Остановить проигрывание звука
Делаю программный синтезатор (курсовик), в программировании разбираюсь на уровне ХеллоуВордщика....

Javazoom, как остановить проигрывание?
класс запускает файл. package mp3; import java.io.FileInputStream; import...

Как остановить проигрывание анимации ?
У меня имеется скрипт которые привязан к объекту Chest. У этого объекта есть три анимации,...

Как остановить проигрывание MovieClip'a?
Добрый вечер. private var clipC:Class; /// mC=new clipC();// начал бесконечно проигрываться...

4
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
12.03.2012, 20:30 2
внимательно читайте то, что вы линкнули, а именно как написано в статье
"Задерживаем окончание выполнения функции до тех пор, пока проигрывается файл"
C++
1
pSoundBuffer->Play(0,0,0);
нетрудно предположить чтобы остановить надо запустить стоп
1
9 / 9 / 1
Регистрация: 25.10.2009
Сообщений: 152
12.03.2012, 20:41  [ТС] 3
Цитата Сообщение от panicwassano Посмотреть сообщение
внимательно читайте то, что вы линкнули, а именно как написано в статье
"Задерживаем окончание выполнения функции до тех пор, пока проигрывается файл"
C++
1
pSoundBuffer->Play(0,0,0);
нетрудно предположить чтобы остановить надо запустить стоп
т.е. нужно написать эту строчку в код кнопки "стоп"?? если да, то это не помогло( при нажатии на кнопку "стоп" ничего не происходит, а если ещё несколько раз нажать, то всё виснет)
может стоит попробовать с потоками?? или всё же можно проще?
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
12.03.2012, 20:48 4
конечно ведь слово play переводится как играть, и этот код для проигрывания звука!!!
я привел вам аналогию что если есть play, должен быть и stop, разбирайтесь с psoundbuffer
и вообще почитайте хотя бы комментарии к программе на сайте, что вы линкнули
1
9 / 9 / 1
Регистрация: 25.10.2009
Сообщений: 152
12.03.2012, 21:36  [ТС] 5
Цитата Сообщение от panicwassano Посмотреть сообщение
конечно ведь слово play переводится как играть, и этот код для проигрывания звука!!!
я привел вам аналогию что если есть play, должен быть и stop, разбирайтесь с psoundbuffer
и вообще почитайте хотя бы комментарии к программе на сайте, что вы линкнули
спасибо) буду разбираться)

Добавлено через 13 минут
C++
1
pSoundBuffer->Stop();
к сожалению тоже не помогает. буду дальше искать

Добавлено через 32 минуты
вот, может кому пригодится)
в код кнопки "стоп" пишем
C++
1
pSoundBuffer->Play(0,0,0);
а в цикл где воспроизводится мелодия добавляем
C++
1
2
3
4
5
while (::PeekMessage(&Msg, NULL, 0, 0, PM_REMOVE))
        {
            ::TranslateMessage(&Msg);
            ::DispatchMessage(&Msg);
        }
0
12.03.2012, 21:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2012, 21:36
Помогаю со студенческими работами здесь

Как начать проигрывание звука с места паузы
Я использую стандартный Media.SoundPlayer. Как сделать так, чтобы звук мог проигрываться с места...

Как остановить воспроизведение звука?
собственно вопрос от новичка. у меня на нажатие клавиши проигрывается звук. оба звука в скрипте...

Как при появлениии обьекта Strongbox сделать проигрывание мелодии или звука?
1. AttentionSound = GetSound("attention.wav") 2. Strongbox Как связать эти два класса чтобы при...

Остановить проигрывание видео при клике на кнопку
Доброе время суток, есть такая проблема, не могу понять как можно реализовать, есть слайдер, в нем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru