iOS 12设备的音频播放器扬声器和麦克风无法同时工作

时间:2019-02-01 06:49:36

标签: ios swift

我已经在iOS 12设备上同时播放和录制音频,但是它从扬声器播放音频并从麦克风播放音频记录,因此我需要通过麦克风进行音频播放和录音,这在iOS 9或更低版本的设备上可以正常工作。

如何在iOS 12设备上通过麦克风同时实现播放和录制该东西?

2 个答案:

答案 0 :(得分:1)

如果我们想一次使用两者,则需要将AVAudioSession的类别设置为AVAudioSessionCategoryPlayAndRecord

do {
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord)
} catch let error as NSError {
    print(error)
}

do {
    try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
    print(error)
} 

答案 1 :(得分:0)

我有一个答案。请检查下面的代码以更好地理解:

    do {
       if #available(iOS 10.0, *){
            try recordingSession.setCategory(.playAndRecord, mode: .default, options: .defaultToSpeaker)
        } else {
            AVAudioSession.sharedInstance().perform(NSSelectorFromString("setCategory:error:"), with: AVAudioSession.Category.playAndRecord)
        }
        try recordingSession.setActive(true)
    } catch {
        print("failed to record!")
    }