1
我試圖檢測何時將headphones
插入iPhone。我這樣做購買以下方法。在應用移動到背景後檢測輸入和輸出
//Init the AVAudioSession
-(void)viewDidLoad
{
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error];
NSError *activationError = nil;
[[AVAudioSession sharedInstance] setActive: YES error: &activationError];
}
//Get the current audio session route
-(void)viewWillAppear
{
AVAudioSessionRouteDescription *route = [[AVAudioSession sharedInstance] currentRoute];
}
能正常工作和route.inputs
和route.outputs
將包含headphones
和microphone
爲有線iPhone headset
並會顯示內置的接收器和內置的麥克風當耳機被拔出。我遇到的問題是當我按下我的應用上的主頁按鈕並且它移動到背景時。當我將應用程序帶回前臺時,route.inputs始終爲空。我的問題是:當我調用applicaionWillResign
活動時,是否需要在我的appDelegate中設置[[AVAudioSession sharedInstance] setActive:NO error: &activiationError]
?因爲當route.inputs回來時,耳機仍然插入,應該被檢測到。任何幫助,將不勝感激。謝謝。
只是好奇,如果這解決了你的問題? – benzino 2014-12-03 21:17:14