【问题标题】:AVAudioSession : microphone headphone as input and iphone speaker as outputAVAudioSession : 麦克风耳机作为输入,iphone 扬声器作为输出
【发布时间】:2017-05-20 03:58:43
【问题描述】:

在 iOS10 中,管理 AUdioSession 的可能性更大,但是当音频通过 iphone 扬声器输出时,我无法将耳机麦克风保持为输入。

下面的 'overrideOutputAudioPort' 方法也将输入音频端口覆盖为 iphone 麦克风

let session = AVAudioSession.sharedInstance()
do {
  try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
  try! session.overrideOutputAudioPort(.speaker)  
} catch {
}

有没有办法让耳机保持输入?

【问题讨论】:

    标签: swift ios10 microphone avaudiosession speaker


    【解决方案1】:

    我如何理解this Apple documentation,这是不可能使用AVAudioSession

    如果在您将此属性的值设置为 kAudioSessionOverrideAudioRoute_Speaker 时插入了耳机,系统会更改输入和输出的音频路由:输入来自内置麦克风;输出到内置扬声器。

    【讨论】:

    • 新选项“allowBluetoothA2DP”(iOS10 起)try session.setCategory(AVAudioSessionCategoryPlayAndRecord, with: .allowBluetoothA2DP) 不是这样:使用此选项,麦克风输入不会改变(仅输出)
    • @DamienRomito 很有趣。我没有意识到这一点。这是否记录在案(在 WWDC 视频旁边)?
    • 你怎么知道的?
    猜你喜欢
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多