iOS录制屏幕之ReplayKit-iOS 11/tvOS 11

新增属性

/// 这个iOS才支持,tvOS不支持
@property (nonatomic) RPCameraPosition cameraPosition;

在iOS 10版本的ReplayKit添加了视频录制功能(PS:仅仅支持前置摄像头的录制).iOS11则新增了这个属性,可以用来设置默认录制摄像头(前置/后置).或者录制时切换.

新增方法

/// 录制方法
- (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));
/// 停止录制方法
- (void)stopCaptureWithHandler:(nullable void(^)(NSError * _Nullable error))handler API_AVAILABLE(ios(11.0), tvos(11.0));

11之前的RP录制仅仅只支持录制完了,可以弹出一个控制器看录制效果.然而到了11,我们可以对音视频流进行操作了,代价是不能以旧的方法停止录制了.得用新的录制停止方法.

RPScreenRecorderDelegate新增方法

- (void)screenRecorder:(RPScreenRecorder *)screenRecorder didStopRecordingWithPreviewViewController:(nullable RPPreviewViewController *)previewViewController error:(nullable NSError *)error;

对于这个方法我其实是有点无语的.感觉和10新增的那个差不多,也就是方法返回的参数顺序不一样…也是录制中有什么错误停止的时候调用的…如果停止前录制的视频能播放就会返回previewViewController实例

发布了268 篇原创文章 · 获赞 59 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/qq_18683985/article/details/103835962
11