0

我有一组简单的 FMOD 动作,每个动作分别播放各种声音。问题在于我有一个停止所有声音的按钮。如果我们尝试停止未播放的声音,FMOD 会使我的程序崩溃。说得通。但是我已经决定必须有一种方法可以调用一个简单的 if 语句来找出“如果”并且只有“如果”某些东西正在播放,然后停止它。

- (IBAction)myButton:(id)sender {


    if "FMOD CHANNEL IS PLAYING" {

        result = fmodChannel->stop();

    }

}

任何帮助,将不胜感激。

4

1 回答 1

2

stop如果您调用未播放的频道,我不会说 FMOD 崩溃是“有道理的” 。它记录在失败时返回错误代码。你确定fmodChannel在你调用时仍然是一个有效的指针stop吗?

无论如何,您可以尝试以下isPlaying方法:

bool isPlaying;
if (fmodChannel->isPlaying(&isPlaying) == FMOD_OK && isPlaying) {
    fmodChannel->stop();
}
于 2012-09-11T02:48:33.107 回答