我正在開發一個iPhone應用程序,將根據用戶的要求播放自己的聲音。如何防止我的應用程序播放聲音,如果設備已播放音樂
我的問題是,如果設備已經在播放音樂,如何在啓動時禁用我的應用程序中的聲音?
我知道我必須檢測設備是否已在播放音樂,但我該怎麼做?
我正在開發一個iPhone應用程序,將根據用戶的要求播放自己的聲音。如何防止我的應用程序播放聲音,如果設備已播放音樂
我的問題是,如果設備已經在播放音樂,如何在啓動時禁用我的應用程序中的聲音?
我知道我必須檢測設備是否已在播放音樂,但我該怎麼做?
你既可以激活音頻會話就像這樣:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
,或者你可以創建一個[MPMusicPlayerController iPodMusicPlayer]
實例和暫停音樂,但其他應用程序裏面正在播放這不會暫停音樂。
編輯
如果你想檢查的iPod播放音樂,那麼你可以做這樣的事情:
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
if ([musicPlayer playbackState] == == MPMusicPlaybackStatePlaying)
//iPod is playing music, do something here
}
你需要添加MediaPlayer
框架。
謝謝!有效! – Developer
要檢查您是否已經在播放音樂時,你可以這樣做:
(YES == ((AVAudioSession *)[AVAudioSession sharedInstance]).otherAudioPlaying)
'我知道我將不得不檢測,如果聲音已經playing' - 錯誤。仔細查看audiosession安裝文檔 - 專門查看「音頻會話類別」。 – Till
建立適當的音頻會話,並暫停所有已播放的音樂。 – sooper
感謝您的回答!我感謝你給予這個問題的時間! – Developer