2011-09-16 46 views
6

當前播放我想檢測[SimpleAudioEngine sharedEngine]當前是否正在播放任何影響。對於背景音樂,有一種方法可以爲您提供背景音樂是​​否正在播放的信息:檢測是否聲音效果在SimpleAudioEngine

[[SimpleAudioEngine sharedEngine] isBackgroundMusicPlaying]; 

音效是否存在類似現象?如果不是,我怎麼能檢測到我是否已經在發揮作用?

回答

3

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; 
} 

我不因爲我無恥地偷走了this topic的代碼,所以知道這是否是初始化CDSoundSource的正確方法。也許你應該看一看的CDAudioManager Class Reference

希望這有助於給你指出正確的方向。