2013-12-16 65 views
3

所需功能:iOS 7獲取所有可用音頻設備(藍牙,耳機,揚聲器,電話)

這就像iPhone本地手機應用程序。當連接到iPhone的藍牙/耳機時,揚聲器按鈕(通常只有揚聲器/電話切換)將向您顯示所有可用的音頻輸出設備。默認使用藍牙。用戶可以選擇其他設備播放聲音。

問題:

  1. 我如何可以檢測所有連接到iPhone可用的音頻設備?

  2. 如何更新路線並將音頻輸出設置爲選定設備?

注意,因爲這兩種方法都是從iOS7棄用現有的與AudioSessionGetProperty和AudioSessionSetProperty解決方案可能不是很理想。

回答

1

由於沒有迴應。我開始基於Jawbone的AudioSessionManager編寫我自己的庫。

關於這兩個問題

  1. 我仍然無法找到方法來獲得可用的輸出。但是AVAudioSession支持來自iOS7的屬性availableInputs。

  2. AVAudioSession有一個routeChange通知。你可以捕捉到不同的路線變化原因並妥善處理。

    [[NSNotificationCenter defaultCenter]的addObserver:自 選擇器:@selector(currentRouteChanged :) 名:AVAudioSessionRouteChangeNotification對象:無];

完整的實現是在我的github repo。歡迎反饋。

相關問題