• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: unity  ios  录屏  Replay  

资源简介

Unity_ios_录屏功能ReplayKit官方提供的方法,包含录制,停止,预览等功能

资源截图

代码片段和文件信息

using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using UnityEngine.Apple.ReplayKit;
using UnityEngine.UI;
public class Recording : MonoBehaviour
{
    //录制的button按钮 开始隐藏判断如果录制API可用就打开
    public Button btn_Recording;
    //录制按钮的图片
    private Image img_Recording;

    private bool bool_IsStartRecording=false;
    string lastError = ““;
    void Start()
    {
        //开始关掉录制视频的按钮
        btn_Recording.gameobject.SetActive(false);
        img_Recording = btn_Recording.GetComponent();
#if PLATFORM_IOS
        //api不可用
        if (!ReplayKit.APIAvailable)
        {
            Debug.Log(“API不可用“);
            return;
        }
        //如果是再ios的环境并且录制的api可以用打开录制按钮
        btn_Recording.gameobject.SetActive(true);
        btn_Recording.onclick.AddListener(StartAndStopRecording);
#endif
    }

  
    void StartAndStopRecording()
    {
        try
        {
            //是否是录制状态
            if (ReplayKit.isRecording)
            {
               
                StartCoroutine(IEStopRecording());
          
            }
            else
            { 
                try
                {
                    //ReplayKit.StartRecording();
                    //开始录像,第一个参数是否开采集麦克风,第二个使用预览视图
                    ReplayKit.StartRecording(true false);
                    //更换图片 图片放在Resources文件夹下
                    img_Recording.sprite = Resources.Load(“0_0002_停“);
                }
                catch (Exception e)
                {
                    lastError = e.ToString();
                    Debug.Log(“开始录制出现异常“ + lastError);
                }
            }
        }
        catch (Exception e)
        {

            lastError = e.ToString();
            Debug.Log(“录制出现异常“+lastError);
        }
      
    }
    IEnumerator IEStopRecording()
    {
        try
        {
            //停止录屏
            ReplayKit.StopRecording();
            //btn_Recording.transform.GetChild(0).GetComponent().text = “开始录制“;
            //更换图片 图片放在Resources文件夹下
            img_Recording.sprite = Resources.Load(“0_0002_录“);
        }
        catch (Exception e)
        {
            lastError = e.ToString();
            Debug.Log(“停止录制出现异常“ + lastError);
        }
        //这里等待一下,否则可能没办法吊起预览窗口
        yield return new WaitForSeconds(1f);
        //开启预览窗口
        PreviewRecord();
    }
    /// 
    /// 预览录制
    /// 

    public static void PreviewRecord()
    {
        //表示新录制可用于预览(True表示可用)
        if (ReplayKit.recordingAvailable)
        {
            //预览当前录像
            ReplayKit.Preview();
        }
        else
        {
            Debug.Log(“预览不可用“);
        }
    }
    /// 
    /// 丢弃录制
    /// 

    public static void DiscardRecord()
    {
        //判断新录制可用于预览(True表示可用)
        if (ReplayKit.recordingAvailable)
        {
            ReplayKi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3581  2019-04-03 11:14  Recording.cs

评论

共有 条评论