新增属性
/// 这个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
实例