我正在使用ReplayKit的RPScreenRecorder.shared().startCapture
方法来记录屏幕和麦克风,但是我遇到了一个问题。如果在ScreenRecording的同时播放AVPlayer,则麦克风会停止录制音频。以下是两种情况。首先,一切正常,但是第二声录音不起作用。
启动AVPlayer,然后开始screenRecording,AVPlayer的音频停止,我的屏幕和麦克风开始录制
开始屏幕录制并正常工作。然后我启动AVPlayer,当AVPlayer播放音频时,语音记录就会停止
答案 0 :(得分:1)
大量研究之后,我找到了解决方案。默认AVFoundation
允许一次使用麦克风或扬声器,并且ReplayKit与AVPlayer内容不兼容。因此,如果我们想一次使用两者,则需要将AVAudioSession
的Category设置为AVAudioSessionCategoryAmbient
。
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
} catch let error as NSError {
print(error)
}
do {
try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
print(error)
}
答案 1 :(得分:0)