我有一套简单的FMOD动作,每个动作分别播放各种声音。问题在于我有一个按钮可以停止所有声音。如果我们试图阻止没有播放的声音,FMOD会崩溃我的节目。说得通。但是我已经决定必须有一种方法来调用一个简单的if语句来找出“if”并且只有“if”某些东西在播放,然后停止它。
- (IBAction)myButton:(id)sender {
if "FMOD CHANNEL IS PLAYING" {
result = fmodChannel->stop();
}
}
任何帮助都将不胜感激。
答案 0 :(得分:2)
如果你在一个没有播放的频道上拨打stop
,我不会说FMOD崩溃是“有道理的”。记录在失败时返回错误代码。当您致电fmodChannel
时,您确定stop
仍然是有效指针吗?
无论如何,您可以尝试isPlaying
方法:
bool isPlaying;
if (fmodChannel->isPlaying(&isPlaying) == FMOD_OK && isPlaying) {
fmodChannel->stop();
}