我想检测一下SimpleAudioEngine sharedEngine当前是否正在播放特效。对于背景音乐,有一种方法可以提供背景音乐是否正在播放的信息:
[[SimpleAudioEngine sharedEngine] isBackgroundMusicPlaying];音效也有类似的东西吗?如果不是,我如何才能检测到我是否已经在播放效果?
发布于 2011-09-16 22:29:25
SimpleAudioEngine没有像isBackgroundMusicPlaying这样的方法来实现效果,但是您可以存储一个名为isPlaying的BOOL并使用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的正确方法,因为我不知羞耻地从this topic那里窃取了代码。也许你应该看看CDAudioManager Class Reference
希望这篇文章能帮助你找到正确的方向。
https://stackoverflow.com/questions/7444252
复制相似问题