0
我的程序需要停止播放聲音,如果某些點在範圍內,我與功能run()
運行在單獨的線程類和播放聲音使用SDL.h
和SDL_mixer.h
:SDL_mixer停止播放音樂上的某些事件
void SoundCheck::run()
{
Mix_PlayMusic(music, 1);
while(1)
{
if(normalize(sound[0], range_->getPos()))
{
printf("stop sound\n");
Mix_HaltChannel(-1);
}
sleep(1);
}
}
但if
條件返回true時打印「停止聲音」,但聲音仍然播放,似乎是什麼問題?