Как использовать только микрофон Airpod без остановки музыки, воспроизводимой другим приложением? - PullRequest
0 голосов
/ 18 января 2019

Моему приложению требуется доступ только к микрофону Airpod (но не к динамикам), но когда я пытаюсь начать запись из своего приложения, звучит музыка, если оно воспроизводится. Как я могу использовать только микрофоны Airpod. Я не хочу останавливать музыку, воспроизводимую другим приложением.

Я пытался сделать следующее. Этот фрагмент кода может принимать входные данные от микрофона Airpod, но останавливает любую другую воспроизводимую песню.

try recordingSession.setCategory(.playAndRecord, mode: .measurement, options: .allowBluetooth)
try recordingSession.setActive(true)


audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
audioRecorder.delegate = self
audioRecorder.isMeteringEnabled = true
audioRecorder.prepareToRecord()
audioRecorder.record() 

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

1 Ответ

0 голосов
/ 18 января 2019

Попробуйте это

try recordingSession.setCategory(.playAndRecord, mode: .measurement, options: [.allowBluetoothA2DP, .mixWithOthers])

А в вас AppDelegate добавьте этот код в didFinishLaunchingWithOptions

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {

    try! AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.ambient, mode: AVAudioSession.Mode.default, options: AVAudioSession.CategoryOptions.mixWithOthers)

    return true
}
...