我想检测 [SimpleAudioEngine sharedEngine] 当前是否正在播放任何效果。对于背景音乐,有一种方法可以为您提供背景音乐是否正在播放的信息:
[[SimpleAudioEngine sharedEngine] isBackgroundMusicPlaying];
声音效果是否存在类似的东西?如果不是,我还能如何检测我是否已经在播放效果?
我想检测 [SimpleAudioEngine sharedEngine] 当前是否正在播放任何效果。对于背景音乐,有一种方法可以为您提供背景音乐是否正在播放的信息:
[[SimpleAudioEngine sharedEngine] isBackgroundMusicPlaying];
声音效果是否存在类似的东西?如果不是,我还能如何检测我是否已经在播放效果?
SimpleAudioEngine
没有像isBackgroundMusicPlaying
效果这样的方法,但是您可以存储一个BOOL
名为 isPlaying 并使用CDSoundSource
CDSoundSource* currentSound = [[CDAudioManager sharedManager] audioSourceForChannel:kASC_Right];
[currentSound load:audioFile];
currentSound.delegate = self;
currentSound.backgroundMusic = NO;
isPlaying = YES;
[currentSound play];
然后实现回调:
- (void) cdAudioSourceDidFinishPlaying:(CDLongAudioSource *) audioSource {
isPlaying = NO;
}
我不知道这是否是初始化的正确方法,CDSoundSource
因为我无耻地窃取了这个主题的代码。也许你应该看看CDAudioManager 类参考
希望这有助于为您指明正确的方向。