Можно ли передавать аудио со встроенного микрофона iPhone на гарнитуру через HFP, используя AudioKit на iOS? - PullRequest
2 голосов
/ 13 февраля 2020

Мне нужно настроить поток от iPhone встроенного микрофона на гарнитуру через HFP. Он прекрасно работает с A2DP, когда я настраиваю аудиосессию с опцией .allowBluetoothA2DP, но HFP важен для моей задачи, потому что он намного быстрее, чем A2DP. Когда я настраиваю AVAudioSession с .allowBluetooth, который фактически включает HFP на гарнитуре, вход автоматически переключается на микрофон гарнитуры.

Есть ли способ заставить его работать от iPhone mi c на гарнитуру через HFP?

Код ниже переключает гарнитуру в режим HFP, но микрофон используется от гарнитуры как хорошо.

    AKSettings.bufferLength = .medium
    AKSettings.defaultToSpeaker = false
    AKSettings.enableRouteChangeHandling = true
    AKSettings.playbackWhileMuted = true

    let mic = AKMicrophone()
    let mixer = AKMixer(mic)
    let booster = AKBooster(mixer, gain: 2.0)
    AudioKit.output = booster

    mic?.start()

    do {
        try AudioKit.start()

        // Do that after starting the AudioKit!
        try? AKSettings.setSession(category: .playAndRecord, with: [ AVAudioSession.CategoryOptions.allowBluetooth ])

        printInputOutputDevices()

    } catch {
        print("AudioKit boot failed.")
    }
...