我正在使用ReplayKit记录屏幕。然而,我有一个非常奇怪的问题,有视频缓冲区。当用户点击记录按钮时,调用以下方法;
rpScreenRecorder.startCapture { (sampleBuffer, bufferType, error) in
if let error = error {
print(error.localizedDescription)
}
switch bufferType {
case .video:
print("video")
case .audioApp:
print("audioApp")
case .audioMic:
print("audioMic")
@unknown default:
print("default")
}
} completionHandler: { (error) in
if let error = error {
print(error.localizedDescription)
}
}问题是,bufferType没有视频。当我打印所有的情况时,audioMic和audioApp永远都会返回,但是视频永远不会返回。
我可以很容易地重复这个问题,只有在第一次启动时,我删除应用程序,并再次安装它。它在其他情况下如预期的那样起作用。
问这个问题之前,我看了一下其他的问题。他们都没有解决这个问题。
发布于 2021-05-04 18:52:07
经过日日夜夜地解决这个问题,我终于想出了一个解决办法。
简单地说,原因是关于主窗口。
主窗口对于重放工具包很重要,因为它正在记录主窗口。
我用不同的窗口来隐藏一些从录像中看到的视图。我还更改了主窗口的windowLevel。今天,我注意到删除与主窗口相关的每一个调整都解决了这个问题。(其他窗口没有效果。)
https://stackoverflow.com/questions/67379933
复制相似问题