UnityIOS錄屏
用到的是ios的replaykit,現在使用的unity 2017.1.f3版本已經自己整合了,所以呼叫相應提供的介面就可以,很簡單
但是目前測試會在安裝後第一次錄屏的時候出現黑屏錄屏失敗的情況,所以可以採用第一次初始化的時候先錄製然後放棄儲存避免這個問題,間隔1s,馬上執行放棄儲存操作會失敗,以後正常錄製沒有問題
程式碼如下
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.Apple.ReplayKit;
public class PluginsForIOS : MonoBehaviour
{
public const string Name = "PluginsForIOS";
static PluginsForIOS() { }
protected PluginsForIOS() { }
protected static volatile PluginsForIOS instance = null;
protected readonly object syncRoot = new object();
protected static readonly object staticSyncRoot = new object();
public static PluginsForIOS Instance
{
get
{
if (instance == null)
{
lock (staticSyncRoot)
{
if (instance == null)
{
GameObject PluginsForIOSObj = new GameObject(Name);
instance = PluginsForIOSObj.AddComponent<PluginsForIOS>();
}
}
}
return instance;
}
}
#if UNITY_IPHONE
#region ReplayKit
public static string LastError = "";
public static bool Recording = false;
public static void StartRecord()
{
if (ReplayKit.APIAvailable)//表示ReplayKit API是否可用(True表示可用)
{
if (!Recording)
{
try
{
Recording = true;
ReplayKit.StartRecording(true, false);//開始錄影,第一個引數是否開採集麥克風,第二個使用預覽檢視(目前沒找到怎麼用,判斷跟廣播功能有關)
}
catch (Exception e)
{
LastError = e.ToString();
}
}
}
else
{
Debug.Log("StartRecording");
}
}
public static void StopRecord()
{
if (ReplayKit.APIAvailable)//表示ReplayKit API是否可用(True表示可用)
{
Instance.StartCoroutine(Instance.IEStopRecord());
}
else
{
Debug.Log("StopRecord");
}
}
IEnumerator IEStopRecord()
{
try
{
ReplayKit.StopRecording();//停止錄屏
}
catch (Exception e)
{
LastError = e.ToString();
}
yield return new WaitForSeconds(2f);
Recording = false;
PreviewRecord();//開啟預覽視窗
}
public static void PreviewRecord()
{
if (ReplayKit.recordingAvailable)//表示新錄製可用於預覽(True表示可用)
{
ReplayKit.Preview();//預覽當前錄影
}
else
{
Debug.Log("PreviewRecord");
}
}
public static void DiscardRecord()
{
if (ReplayKit.recordingAvailable)//表示新錄製可用於預覽(True表示可用)
{
ReplayKit.Discard();
}
else
{
Debug.Log("DiscardRecord");
}
}
public static void PauseRecord()//丟棄錄製
{
}
#endregion
#endif
}
相關文章
- 怎樣錄屏?好用的錄屏方法分享
- ffmpeg錄屏
- 電腦免費錄屏軟體,錄屏必備
- win10如何錄屏?電腦錄屏方法分享Win10
- win10系統如何錄屏_windows 10錄屏教程Win10Windows
- MacBook 如何錄屏和錄音訊Mac音訊
- win10怎麼錄屏 windows10電腦如何錄屏Win10Windows
- 電腦錄屏工具,這樣的錄屏方式你會了嗎?
- 膝上型電腦怎麼錄屏?快速錄屏的方法分享
- mac錄屏怎麼錄內建聲音 mac如何錄屏同時錄內建不錄外面聲音Mac
- win10錄屏如何錄製聲音_win10錄屏錄製聲音的步驟Win10
- Ubuntu錄屏軟體Kazam的安裝以及錄屏無聲解決:Ubuntu
- windows10電腦如何錄屏?使用快捷鍵就能錄屏的方法Windows
- 錄屏製作gif工具
- Record It for Mac錄屏軟體Mac
- ❖ 終端錄屏程式`asciinema`ASCII
- 班迪錄屏工具:Bandicam
- win10自帶錄屏怎麼用_win10自帶錄屏怎麼錄製Win10
- win10 系統怎麼錄屏 windows10電腦如何錄屏Win10Windows
- 錄屏windows10怎麼用_windows10系統怎麼錄屏Windows
- win10錄屏儲存在哪 win10錄屏儲存路徑Win10
- 什麼遊戲錄屏軟體免費?這樣錄屏超簡單!遊戲
- win10系統錄屏功能無法錄屏如何處理_win10錄屏功能無法使用的解決教程Win10
- win10怎麼開錄屏_win10開啟錄屏的步驟Win10
- windows10錄屏在哪裡 win10系統錄屏的圖文教程WindowsWin10
- 錄屏軟體哪個好用?分享一款超讚的錄屏軟體
- 筆記本怎麼錄屏 膝上型電腦自帶錄屏功能教程筆記
- win10免費錄屏軟體怎麼用?超簡單錄屏技巧Win10
- Apowersoft線上錄屏軟體
- web頁面錄屏實現Web
- win10錄屏功能如何開啟_win10自帶錄屏怎麼用Win10
- win10怎麼開啟錄屏_win10開啟錄屏功能的方法Win10
- win10 xbox如何錄屏_win10系統中xbox錄屏怎麼用Win10
- win7電腦怎麼錄屏?看完你就會的電腦錄屏教程Win7
- 怎麼在windows屏錄?可在電腦進行區域錄屏的實用方法Windows
- 錄屏軟體哪個好?推薦一款好用的電腦錄屏軟體
- win10自帶錄屏快捷鍵是哪個_win10錄屏快捷鍵大全Win10
- EV錄屏怎麼把小球隱藏? EV錄屏關閉懸浮球的方法教程
- win10系統怎麼錄屏 win10系統自帶錄屏的方法Win10