我们已经将我们的应用程序移植到iOS7,但我们遇到了一个问题,即AVPlayer默认在iPhone上播放到接收器(安静的扬声器)而不是普通的扬声器。该解决方案似乎正在使用
AVAudioSession* session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback ...];
但是,这会在iOS7上弹出一个请求麦克风权限的对话框。为什么?我怎么能避免这种情况,因为应用程序没有记录任何内容?我们正在使用AVPlayer进行播放,并且还具有背景音频权限。
答案 0 :(得分:0)
您是否尝试覆盖音频会话的输出死记硬背?我在iOS 6上遇到了类似的问题,当时在iPod上的扬声器上播放声音,但在iPhone上的手机扬声器上播放声音。
UInt32 audioRoute = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(UInt32), &audioRouteOverride);