ReplayKit 仅适用于某些运行 iOS 9.0 或更高版本的 iPhone、iPad 和 iPod Touch 设备。
ReplayKit 允许您通过麦克风录制游戏音频和视频以及
用户解说。使用
StartRecording() 函数开始录制,使用 StopRecording() 停止录制。您可以
使用 Preview() 函数预览录制。此函数可启动一个独立的视频查看器。
注意:支持 ReplayKit 的具体 Apple 设备包括:
1.iPhone 5S 或更高版本
2.iPad mini 2 或更高版本
3.第 6 代 iPod Touch
4.iPad Air 或更高版本。
using System; using UnityEngine; #if PLATFORM_IOS using UnityEngine.iOS; using UnityEngine.Apple.ReplayKit;
public class Replay : MonoBehaviour { string lastError = ""; void OnGUI() { if (!ReplayKit.APIAvailable) { return; } var recording = ReplayKit.isRecording; string caption = recording ? "Stop Recording" : "Start Recording"; if (GUI.Button(new Rect(10, 10, 500, 200), caption)) { try { recording = !recording; if (recording) { ReplayKit.StartRecording(); } else { ReplayKit.StopRecording(); } } catch (Exception e) { lastError = e.ToString(); } }
GUI.Label(new Rect(10, 220, 500, 50), "Last error: " + ReplayKit.lastError); GUI.Label(new Rect(10, 280, 500, 50), "Last exception: " + lastError);
if (ReplayKit.recordingAvailable) { if (GUI.Button(new Rect(10, 350, 500, 200), "Preview")) { ReplayKit.Preview(); } if (GUI.Button(new Rect(10, 560, 500, 200), "Discard")) { ReplayKit.Discard(); } } } } #endif
APIAvailable | 用于表示 ReplayKit API 是否可用的布尔值(true 表示可用)。(只读) |
broadcastingAPIAvailable | 表示 ReplayKit broadcasting API 是否可用的布尔值(true 表示可用)(只读)。 请在执行 ReplayKit broadcasting API 调用之前查看此属性的值。在 iOS 10 之前的 iOS 版本中,此属性的值为 false。 |
broadcastURL | 包含用于将用户重定向到正在进行或已完成广播的 URL 的字符串属性(只读)。 |
cameraEnabled | 摄像机启用状态,true 表示已启用,false 表示未启用。 |
isBroadcasting | 用于表示广播是否正在进行的布尔值属性(只读)。 |
isRecording | 用于表示 ReplayKit 是否正在录制的布尔值(true 表示正在录制)。(只读) |
lastError | ReplayKit 发生的上一个错误的字符串值:“Failed to get Screen Recorder”或“No recording available”。(只读) |
microphoneEnabled | 麦克风启用状态,true 表示已启用,false 表示未启用。 |
recordingAvailable | 用于表示新录制是否可用于预览的布尔值(true 表示可用)。(只读) |
Discard | 放弃当前录制。 |
HideCameraPreview | 隐藏摄像机预览视图。 |
Preview | 预览当前录制 |
ShowCameraPreviewAt | 显示坐标 posX 和 posY 上的摄像机预览。 |
StartBroadcasting | 启动新广播 调用 StartBroadcast 后,用户会看到广播提供程序选择屏幕和广播设置屏幕。完成后,广播将会开始,回调将被调用。 如果出现错误,回调也将被调用。 |
StartRecording | 启动新录制。 |
StopBroadcasting | 停止当前广播。 将终止当前正在进行的广播。如果没有广播正在进行中,则不执行任何操作。 |
StopRecording | 停止当前录制。 |
BroadcastStatusCallback | 广播启动完成时调用的函数。 |