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


我已经在iOS 12设备中同时播放和录制音频,但它从扬声器播放音频,从麦克风录制音频,

所以我需要通过麦克风进行音频播放和录制,这在iOS 9或更少的设备上工作正常。

如何在iOS 12设备中通过麦克风同时播放和录制?

我得到了答案。 请检查下面的代码以更好地理解:

    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!")
    }

如果我们想一次同时使用它们,我们需要将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)
} 

最新更新