我剛纔做的是檢查iPod播放器是否正在工作,並優先於遊戲音樂。 (即檢查的iPod播放真正開始遊戲音樂,因爲如果你使用的是AVAudioPlayer iPod音樂播放器通常會覆蓋你遊戲的音樂。
+ (bool) IsIpodPlaying{
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying
|| [[MPMusicPlayerController applicationMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying){
NSLog(@"iPod IS playing");
return true;
}else{
NSLog(@"iPod NOT playing");
return false;
}
}
很明顯,你可以爲你的靜音按鈕做同樣的。忽略任何行動,如果iPod的播放,否則停止你的遊戲音樂
要傳遞的信息時,按下靜音按鈕,你可以(在個人喜好的順序排列):
- 設置你的菜單場景的代表你的遊戲場景,並創建一種方法來啓用或禁用聲音(即。
userDidEnableSound:
)
- 創建一個具有啓用和禁用聲音方法的SoundControl單例類,並在需要時訪問它們。
- 使用
NSNotificationCenter
發送通知並在菜單中等待。