zoukankan      html  css  js  c++  java
  • 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 -----------------

  • 相关阅读:
    查看Java中每个数据类型所占的位数,和表示数值的范围,并得出结论。
    同名变量的屏蔽原则
    反码,补码,原码
    机器学习概念性知识总结
    图的最短路径问题
    System Design 笔记及代码(系统设计)
    2016网易游戏实习算法题解(今年找暑期实习的时候参加的)
    Google java style
    18.1---不用加号的加法(CC150)
    Java模板模式(template)
  • 原文地址:https://www.cnblogs.com/110-913-1025/p/9388956.html
Copyright © 2011-2022 走看看