как PlaySound в темах? - PullRequest
0 голосов
/ 22 декабря 2011

Когда я играю музыку с Playsound для exmp.PlaySound("XX.wav",NULL,SND_ASYNC|SND_LOOP) если я проигрываю другой файл .wav, он останавливает этот файл (XX.wav).

Я думаю, что этой проблемы можно избежать с помощью потоков.Но как сделать это в WinApi? Как будет выглядеть Threadfunc?

И как использовать его, когда я хочу остановить музыку, когда нажимаю SPACE, но не хочу останавливать ее, когда я вызываю другой PlaySound.1006 *

1 Ответ

4 голосов
/ 22 декабря 2011

PlaySound() может воспроизводить только один звук за раз.Threading не изменит это.Для одновременного воспроизведения нескольких звуков вам необходимо:

1) смешать аудио кадры вместе, а затем переместить аудио буферы в waveOutWrite().

2) использовать воспроизведениеВозможности DirectSound API.Это позволяет вам смешивать несколько звуков вместе во время воспроизведения.

Я бы предложил # 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...