2013-11-03 30 views
3

我們已經將應用程序移植到了iOS7,但我們遇到了一個問題,即AVPlayer默認在iPhone上向播放器(安靜揚聲器)播放而不是常規揚聲器。這似乎是一個解決方案使用移植到iOS 7的應用程序現在請求麥克風訪問

AVAudioSession* session = [AVAudioSession sharedInstance]; 
[session setCategory:AVAudioSessionCategoryPlayback ...]; 

但是,這在iOS7上彈出一個請求麥克風權限的對話框。爲什麼?我該如何避免這種情況,因爲應用程序不記錄任何內容?我們正在使用AVPlayer進行播放,並且也有背景音頻許可。

+0

這個問題會更好的標題是「iOS 7上的音頻播放現在請求麥克風訪問」? –

+0

我已經發布了這個問題1個月前,仍然沒有答案:/ ... http://stackoverflow.com/questions/18916044/using-a-bluetooth-sound-device-in-ios7-without-microphone-permissions –

回答

0

您是否嘗試覆蓋音頻會話的輸出死記硬背?我在iPod上的揚聲器上播放聲音時,iOS 6上遇到過類似的問題,但iPhone上的電話揚聲器上播放了聲音。

UInt32 audioRoute = kAudioSessionOverrideAudioRoute_Speaker; 
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(UInt32), &audioRouteOverride); 
+0

它說'AudioSessionSetProperty'函數在iOS7 – Axarydax

+0

中已被棄用,但它仍然要求iOS7和iPhone 4上的麥克風權限,所以這不是原因 – Axarydax

+0

我的不好,沒有看到改變。也許這可能有幫助? http://stackoverflow.com/questions/18807157/how-do-i-route-audio-to-speaker-without-using-audiosessionsetproperty – twealm