应用移植到iOS 7后现在请求麦克风访问权限。

3
我们已经将应用程序移植到iOS7,但我们遇到了一个问题,即AVPlayer默认将iPhone的播放设置为接收器(静音扬声器),而不是常规大声扬声器。解决方案似乎是使用
AVAudioSession* session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback ...];

但是,在iOS7上,此操作会弹出请求麦克风权限的对话框。为什么?因为应用程序没有录制任何内容,那么如何避免这种情况?我们使用AVPlayer进行播放,并且拥有后台音频权限。


这个问题的更好标题是“iOS 7上的音频播放现在请求麦克风访问权限”吗? - Michael Dautermann
我一个月前发布了这个问题,但仍然没有答案 :/ ... http://stackoverflow.com/questions/18916044/using-a-bluetooth-sound-device-in-ios7-without-microphone-permissions - Tiago Almeida
1个回答

0

你尝试过覆盖音频会话的输出路线吗?我在 iOS 6 上遇到了类似的问题,当在 iPod 的扬声器上播放声音时,在 iPhone 上则是在电话扬声器上。

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

它说在iOS7中函数AudioSessionSetProperty已经被弃用。 - Axarydax
但在iOS7和iPhone 4上仍会要求麦克风权限,因此这不是原因。 - Axarydax
对不起,我没有看到有变化。也许这个链接可以帮到你?https://dev59.com/XmMk5IYBdhLWcg3w-Ciq - grandboum
我几乎完全使用了那个,声音确实传到扬声器,但应用程序正在请求麦克风权限(这就是这个问题的重点)。 - Axarydax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接