AirPods不能作为Voice Recorder App的输入源

时间:2017-03-17 16:26:36

标签: ios swift

出于某种原因,我的录音笔应用程序不会使用AirPods作为输入源。开始录制时,输入源从AirPods变为iPhone麦克风。不知道如何解决它。

4 个答案:

答案 0 :(得分:1)

连接AirPods时,有两种记录和播放音频的方法。对于这两种情况,我们将使用AVAudioSessionCategoryPlayAndRecord类别。诀窍是管理AVAudioSession的选项集。

  1. 添加.allowBluetoothA2DP选项。这将使您可以通过AirPods收听音频并使用内置麦克风进行录音。
  2. 添加.allowBluetooth选项。使用此选项,您可以在播放过程中使用AirPods录制音频。但是在这种情况下,音频质量会降低。

答案 1 :(得分:0)

艾迪 如果您仍然遇到此问题,请参阅我发布的类似帖子,以便我们能够最终解决我们遇到的问题。

AVAudioRecorder/AVAudioSession with Apple Airpods

答案 2 :(得分:0)

首先,我捕获可用的输出源。

let currentOutputSource = AVAudioSession.sharedInstance().outputDataSource
try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: [.allowBluetooth, .allowBluetoothA2DP])
if let currentOutputSource = currentOutputSource {
    // Then i set known output source to input source.
    try AVAudioSession.sharedInstance().setInputDataSource(currentOutputSource)
}
try? AVAudioSession.sharedInstance().setActive(true)

答案 3 :(得分:-1)

对我有用

try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: [.allowBluetooth, .allowBluetoothA2DP]

if let headphones = AVAudioSession.sharedInstance().availableInputs?.first(where: { $0.portType == .bluetoothHFP || $0.portType == .bluetoothA2DP || $0.portType == .headphones }) {
    try? AVAudioSession.sharedInstance().setPreferredInput(headphones)
}

try? AVAudioSession.sharedInstance().setActive(true)