replayKit RPSampleBufferType 没有视频
replayKit RPSampleBufferType does not have video
我正在使用 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 永远返回,但视频永远不会返回。
当我删除应用程序并重新安装时,我只能在第一次启动时很容易地重复这个问题。它在其他情况下按预期工作。
p.s: 在问这个问题之前,我看了其他问题。 None 人解决了问题。
经过几天几夜的解决,终于找到了解决办法
很简单,原因是关于 main window
Main window 对于回放套件很重要,因为它正在录制主要 window。
我使用了不同的 windows 来隐藏录制视频中的一些视图。我还更改了主要 window 的 window 级别。今天,我注意到删除与 main window 相关的所有调整都解决了问题。 (其他windows无效。)
我正在使用 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 永远返回,但视频永远不会返回。
当我删除应用程序并重新安装时,我只能在第一次启动时很容易地重复这个问题。它在其他情况下按预期工作。
p.s: 在问这个问题之前,我看了其他问题。 None 人解决了问题。
经过几天几夜的解决,终于找到了解决办法
很简单,原因是关于 main window
Main window 对于回放套件很重要,因为它正在录制主要 window。
我使用了不同的 windows 来隐藏录制视频中的一些视图。我还更改了主要 window 的 window 级别。今天,我注意到删除与 main window 相关的所有调整都解决了问题。 (其他windows无效。)