在SDL Mix中,有没有一种方法可以停止特定的Mix_Music曲目?例如:如下所示:
//music1 = the target music track to halt
if(condition)
{
Mix_Halt(Music1);
}谢谢。
发布于 2016-12-24 18:19:19
只有一个Mix_Music曲目。当您开始使用Mix_PlayMusic播放音乐时,先前播放的音乐将自动停止(可能会淡出)。如果您想显式停止当前正在播放的Mix_Music曲目,可以使用Mix_HaltMusic。
如果要同时控制声音,则应改用Mix_Chunk对象。这些是可以在多个channels上播放的样本,可以单独控制,例如:
Mix_Chunk* chunk1 = Mix_LoadWAV("chunk1.wav");
Mix_Chunk* chunk2 = Mix_LoadWAV("chunk2.wav");
Mix_PlayChannel(1, chunk1, -1); // Play chunk1 on channel 1
Mix_PlayChannel(2, chunk2, -1); // Play chunk2 on channel 2
if (condition)
// Only halt channel 1, while channel 2 keeps playing
Mix_HaltChannel(1);您可以在documentation中找到所有这些信息。
发布于 2016-12-01 15:42:37
有一个Mix_Pause或Mix_HaltChannel函数可以暂停特定的频道,如果你想这样做的话。
https://stackoverflow.com/questions/40901532
复制相似问题