gpt4 book ai didi

c++ - SDL_mixer 在特定事件上停止播放音乐

转载 作者:行者123 更新时间:2023-11-28 02:16:20 25 4
gpt4 key购买 nike

如果某个点在范围内,我的程序需要停止播放声音,因为我有一个带有函数 run() 的类,它在单独的线程上运行并使用 SDL.h< 播放声音SDL_mixer.h:

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 时,它​​会打印“stop sound”但声音仍在播放,这似乎是什么问题?

最佳答案

Mix_HaltChannel 用于在 Mix_PlayChannel 启动后停止 Mix_Chunk

要在 Mix_PlayMusic 启动后停止 Mix_Music,您必须使用 Mix_HaltMusic

关于c++ - SDL_mixer 在特定事件上停止播放音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33917814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com