美文网首页
iOS ReplayKit 录屏 框架的使用

iOS ReplayKit 录屏 框架的使用

作者: dingzhijie | 来源:发表于2017-08-22 14:37 被阅读0次

    在需要使用录屏的 地方 引入 头文件 #import <ReplayKit/ReplayKit.h>

    添加代理 RPPreviewViewControllerDelegate

    因为 iOS 9.0 以下 不能使用此框架 , 而且模拟器 也不能使用

    所以在使用之前需要判断 

    if ([RPScreenRecorder sharedRecorder].available) {

    }else{

    NSlog(@"该设备不支持录屏");

    }

    // 开启录屏

    // iOS 10.0 以上

    if (([UIDevice currentDevice].systemVersion.floatValue >= 10.0f)) {

    [[RPScreenRecorder sharedRecorder]startRecordingWithHandler:^(NSError * _Nullable error) {

    if (error) {

    NSLog(@"error: %@",error);

    }else{

    NSLog(@"开始录屏");

    }

    }];

    }else{

    // iOS 10.0 以下

    [[RPScreenRecorder sharedRecorder] startRecordingWithMicrophoneEnabled:YES handler:^(NSError * _Nullable error) {

    if (error) {

    NSLog(@"error: %@",error);

    }else{

    NSLog(@"开始录屏");

    }

    }];

    }

    // 因为 iOS 10 以后 开启录屏 的方法改变了, 需要判断一下

    /// 结束录屏

    [[RPScreenRecorder sharedRecorder] stopRecordingWithHandler:^(RPPreviewViewController * _Nullable previewViewController, NSError * _Nullable error) {

    if (error) {

    NSLog(@"error: %@", error);

    }else{

    NSLog(@"结束录屏");

    if (previewViewController) {

    //设置预览页面到代理

    previewViewController.previewControllerDelegate = self;

    [self presentViewController:previewViewController animated:YES completion:nil];

    }

    }

    }];

    #pragma mark -- 回放预览界面的代理方法

    - (void)previewControllerDidFinish:(RPPreviewViewController *)previewController {

    //用户操作完成后,返回之前的界面

    [previewController dismissViewControllerAnimated:YES completion:nil];

    }

    // 注意: 因为开启录屏的时间可能会有好几秒, 需要注意

    相关文章

      网友评论

          本文标题:iOS ReplayKit 录屏 框架的使用

          本文链接:https://www.haomeiwen.com/subject/oflldxtx.html