2011-09-16 14 views
6

[SimpleAudioEngine sharedEngine]が現在どのエフェクトを再生しているかを検出したいと思います。バックグラウンドミュージックのためにあなたのバックグラウンドミュージックが再生されているかどうかの情報を与える方法があります:SimpleAudioEngineでサウンドエフェクトが現在再生中かどうかを検出

[[SimpleAudioEngine sharedEngine] isBackgroundMusicPlaying]; 

は効果音のために何か似てが存在していますか?そうでなければ、私はすでに効果を演奏しているかどうかを検出できますか?

答えて

3

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

this topicのコードを恥知らずに盗んだので、それがCDSoundSourceを初期化する正しい方法かどうかを正確に知っています。おそらくあなたは見てみるべきであるCDAudioManager Class Reference

これはあなたが正しい方向に向けるのを助けることを願っています。

関連する問題