使用ReplayKit
进行屏幕录像,当我单击保存按钮时调用委托方法previewController(_:didFinishWithActivityTypes:)
时,它将自动保存到相机胶卷中。我该如何更改?我想将视频保存在设备上的文件系统中。我在整个Google和Apple文档中进行了搜索,但找不到任何与此相关的信息。
答案 0 :(得分:0)
如果您的应用程序支持应用程序文件,则重放工具包可以将文件直接保存到文件夹中。例如,VLC应用程序在FILES中有一个文件夹。否则,您可能需要实现一个动作扩展来做类似的事情。
答案 1 :(得分:0)
使用此API
- (void)startCaptureWithHandler:(nullable void (^)(CMSampleBufferRef sampleBuffer, RPSampleBufferType bufferType, NSError *_Nullable error))captureHandler completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0));
示例代码:
-(void)startCapture {
if (@available(iOS 11.0, *)) {
[[RPScreenRecorder sharedRecorder] startCaptureWithHandler:^(CMSampleBufferRef _Nonnull sampleBuffer, RPSampleBufferType bufferType, NSError * _Nullable error) {
if (CMSampleBufferDataIsReady(sampleBuffer) && bufferType == RPSampleBufferTypeVideo) {
NSLog(@"Recording started successfully.");
//save using AVAssetWriter
}
} completionHandler:^(NSError * _Nullable error) {
if (!error) {
NSLog(@"Recording started successfully.");
}else{
NSLog(@"Recording started error %@",error);
}
}];
} else {
// earlier versions issue
}
}
也:这个post可能会以某种方式帮助您