• iOS 屏幕录制功能


    系统框架

    #import <ReplayKit/ReplayKit.h> // 系统视频录制框架

    声明协议

    <RPPreviewViewControllerDelegate>

    实现代码:

    {
        // notice
        // 在点击录制按钮后会弹出用户允许提示,分别为录制屏幕与音频、只录制屏幕与不允许。
        //RepalyKit与AVPlayer不相互兼容,所以RepalyKit可能无法录制AVPlayer呈现的画面
        //判断是否已经开始录制回放
        if (sender.isSelected) {
            //停止录制回放,并显示回放的预览,在预览中用户可以选择保存视频到相册中、放弃、或者分享出去
            [[RPScreenRecorder sharedRecorder] stopRecordingWithHandler:^(RPPreviewViewController * _Nullable previewViewController, NSError * _Nullable error) {
                if (error) {
                    NSLog(@"%@", error);
                    //处理发生的错误,如磁盘空间不足而停止等
                }
                if (previewViewController) {
                    //设置预览页面到代理
                    previewViewController.previewControllerDelegate = self;
                    [self presentViewController:previewViewController animated:YES completion:nil];
                }
            }];
            sender.selected = NO;
            return;
        }
        //如果还没有开始录制,判断系统是否支持
        if ([RPScreenRecorder sharedRecorder].available) {
            NSLog(@"OK");
            sender.selected = YES;
            //如果支持,就使用下面的方法可以启动录制回放
            [[RPScreenRecorder sharedRecorder] startRecordingWithMicrophoneEnabled:YES handler:^(NSError * _Nullable error) {
                NSLog(@"%@", error);
                //处理发生的错误,如设用户权限原因无法开始录制等
            }];
        } else {
            NSLog(@"录制回放功能不可用");
        }
    }

    回放预览界面的代理方法

    - (void)previewControllerDidFinish:(RPPreviewViewController *)previewController {
        //用户操作完成后,返回之前的界面
        [previewController dismissViewControllerAnimated:YES completion:nil];
    }

    -------------------- over -----------------

  • 相关阅读:
    #include 和 #pragma comment 的相对路径起点
    linux学习之——phpMyadmin配置
    linux学习之——LAMP配置
    python学习之——文件过滤,不显示文件中以‘#’开头的行
    python学习之——元组中两数相加之和等于某数
    python学习之——识别标识符&关键字
    python学习之——single number
    python学习之——Add Digits
    python学习之——猜大小
    python学习之——冒泡排序
  • 原文地址:https://www.cnblogs.com/110-913-1025/p/9388956.html
Copyright © 2020-2023  润新知