如果在录制过程中播放AVPlayer,iOS ReplayKit将停止录制麦克风
我正在使用ReplayKit的如果在录制过程中播放AVPlayer,iOS ReplayKit将停止录制麦克风,ios,swift,replaykit,Ios,Swift,Replaykit,我正在使用ReplayKit的RPScreenRecorder.shared().startCapture方法录制屏幕和麦克风,但我面临一个问题。如果在屏幕录制时播放AVPlayer,麦克风将停止录制音频。下面是两种情况。一开始一切正常,但第二次录音不正常 启动AVPlayer,然后开始屏幕录制,AVPlayer的音频停止,我的屏幕和麦克风开始录制 开始录屏,工作正常。然后我启动AVPlayer,当AVPlayer播放音频时,语音录制停止 我认为这是一种制度限制 正如苹果官方文件所写的那样 Re
RPScreenRecorder.shared().startCapture
方法录制屏幕和麦克风,但我面临一个问题。如果在屏幕录制时播放AVPlayer,麦克风将停止录制音频。下面是两种情况。一开始一切正常,但第二次录音不正常
我认为这是一种制度限制 正如苹果官方文件所写的那样 ReplayKit与AVPlayer内容不兼容
你可以详细阅读在挖掘了很多之后,我找到了一个解决方案。默认值
AVFoundation
允许一次使用麦克风或扬声器,并且ReplayKit与AVPlayer内容不兼容。因此,如果我们想同时使用这两种方法,我们需要将AVAudioSession
的类别设置为avaudiosessioncategorymultiproute
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryMultiRoute)
} catch let error as NSError {
print(error)
}
do {
try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
print(error)
}
好的,我知道了。但我只是想阻止AVPlayer播放音频。就像我开始用replyKit录音一样。它使AVPlayer静音并开始录制。我只想对AVPlayer执行同样的操作,如果AVPlayer在启动屏幕录制后播放要使AVPlayer静音,可以在开始录制前使用其IsMute属性。我不知道它是否有效,但值得一试。但我找到了一个解决方案,当我们从堆栈中删除应用程序时,从麦克风捕获音频不起作用,知道吗?从堆栈中删除应用程序是什么意思?,您是否退出应用程序?我的意思是,一旦我关闭应用程序,屏幕录制工作正常,但音频录制停止。但在我第一次安装应用程序时,一切都正常。您是否找到了适用于此场景的有效解决方案?因为我使用的是您在Git上创建的同一个存储库:好的,当您关闭应用程序时,如何记录屏幕?