gpt4 book ai didi

swift - 使用 RPScreenRecorder 开始捕获保存屏幕录制

转载 作者:行者123 更新时间:2023-11-30 12:03:24 26 4
gpt4 key购买 nike

我正在尝试使用 RPScreenRecorder.shared().startCapture 将屏幕录制保存到 firebase。我知道如何从 AVCapture 保存视频,但不知道如何处理 CMSampleBuffer 来创建文件以保存到 firebase。请帮助我在任何地方都找不到这方面的文档,这是方法调用:

 let recorder = RPScreenRecorder.shared()
if #available(iOS 11.0, *) {
recorder.startCapture(handler: { (videoBuffer, bufferType, error) in
print(videoBuffer)
print(bufferType)

}, completionHandler: { (error) in

})
} else {
// Fallback on earlier versions
}

即使指向正确的方向也会有所帮助,但我不知道如何将示例缓冲区保存为可以作为视频播放的文件

最佳答案

RPScreenRecorder.shared().startCapture(handler: { (sample, bufferType, error) in
if CMSampleBufferDataIsReady(sample)
{
self.showOverlayWindow()

if self.assetWriter.status == AVAssetWriterStatus.unknown
{
self.assetWriter.startWriting()
self.assetWriter.startSession(atSourceTime: CMSampleBufferGetPresentationTimeStamp(sample))
}

if self.assetWriter.status == AVAssetWriterStatus.failed {
print("Error occured, status = \(self.assetWriter.status.rawValue), \(self.assetWriter.error!.localizedDescription) \(String(describing: self.assetWriter.error))")
return
}

if (bufferType == .video)
{
if self.videoInput.isReadyForMoreMediaData
{
self.videoInput.append(sample)
}
}
}

}) { (error) in
debugPrint(error)
}

详细代码可见here

关于swift - 使用 RPScreenRecorder 开始捕获保存屏幕录制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com