iOS 6 音频多路由 - 同时使用外部麦克风和内部扬声器
Posted
技术标签:
【中文标题】iOS 6 音频多路由 - 同时使用外部麦克风和内部扬声器【英文标题】:iOS 6 Audio multi-route - use external microphone AND internal speaker simultaneously 【发布时间】:2013-08-12 12:48:40 【问题描述】:此演示文稿:ios6 中 Core Audio 上的 http://www.slideshare.net/invalidname/core-audioios6portland 似乎暗示(幻灯片 87)可以使用 Av Session 覆盖音频设备的自动输出/输入。
那么,具体来说,是否可以将外部麦克风插入 iOS6 设备并通过内部扬声器输出声音?我之前在这个网站上看到过这个问题:iOS: Route audio-IN thru jack, audio-OUT thru inbuilt speaker 但没有答案。
非常感谢!
【问题讨论】:
AFAIK,不在 iOS 6.1.x 或更早版本(提示)中通过任何公共 API。 【参考方案1】:根据 Apple 的文档:
https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/occ/instm/AVAudioSession/overrideOutputAudioPort:error:
https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/doc/c_ref/AVAudioSessionPortOverride
您可以覆盖扬声器,但如果您更仔细地查看基于 C 的音频会话服务(实际上已被弃用,但仍有有用的信息)参考:
https://developer.apple.com/library/ios/documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html#//apple_ref/doc/constant_group/Audio_Session_Property_Identifiers
如果在您设置此属性的值时插入了耳机 到 kAudioSessionOverrideAudioRoute_Speaker,系统更改 输入和输出的音频路由:输入来自 内置麦克风;输出到内置扬声器。
我建议查看 iOS 7 的文档,看看他们是否添加了任何新功能。我还建议使用 iRiffPort 或基于 USB 的输入等外部设备运行测试(如果您有带 CCK 的 iPad)。
【讨论】:
以上是关于iOS 6 音频多路由 - 同时使用外部麦克风和内部扬声器的主要内容,如果未能解决你的问题,请参考以下文章