Описание
ReplayKit доступен только на некоторых устройствах iPhone, iPad и iPod Touch под управлением iOS 9.0 или более поздней версии.
ReplayKit позволяет записывать аудио и видео вашей игры, а также комментарии пользователей через микрофон и видео пользователя через камеру. Начните запись с помощью функции StartRecording() и остановите ее с помощью StopRecording(). Вы можете предварительно просмотреть запись с помощью функции Preview(), которая запускает отдельную программу просмотра видео. Помимо локальных записей, вы можете транслировать свои записи с помощью StartBroadcasting(). Также есть функции приостановки, возобновления и остановки вещания.
using System;
using UnityEngine;
#if PLATFORM_IOS
using UnityEngine.iOS;
using UnityEngine.Apple.ReplayKit;
public class Replay : MonoBehaviour
{
public bool enableMicrophone = false;
public bool enableCamera = false;
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(enableMicrophone, enableCamera);
}
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();
}
}
}
void Update()
{
// If the camera is enabled, show the recorded video overlaying the game.
if (ReplayKit.isRecording && enableCamera)
ReplayKit.ShowCameraPreviewAt(10, 350, 200, 200);
else
ReplayKit.HideCameraPreview();
}
}
#endif
Статические Свойства
APIAvailable |
Логическое значение, указывающее, доступен ли API ReplayKit (где True означает доступность). (Только чтение) |
broadcastingAPIAvailable |
Логическое значение, указывающее, доступен ли широковещательный API ReplayKit (true означает доступность) (только для чтения). Проверьте значение этого свойства перед выполнением вызовов API вещания ReplayKit. В версиях iOS до iOS 10 это свойство будет иметь значение false. |
broadcastURL |
Строковое свойство, содержащее URL-адрес, используемый для перенаправления пользователя на текущую или завершенную трансляцию (только для чтения). |
cameraEnabled |
Статус включения камеры. True, если камера включена; в противном случае - false. |
isBroadcasting |
Логическое свойство, указывающее, выполняется ли в данный момент широковещательная рассылка (только для чтения). |
isBroadcastingPaused |
Логическое свойство, указывающее, приостановлена ли в данный момент трансляция (только для чтения). |
isPreviewControllerActive |
Логическое значение, указывающее, отображает ли ReplayKit в данный момент контроллер предварительного просмотра. (Только чтение) |
isRecording |
Логическое значение, указывающее, выполняет ли ReplayKit запись (где True означает, что запись выполняется). (Только чтение) |
lastError |
Строковое значение последней ошибки, вызванной ReplayKit: «Не удалось получить средство записи экрана» или «Нет доступных записей». (Только чтение) |
microphoneEnabled |
Статус включения микрофона. True, если микрофон включен; в противном случае - false. |
recordingAvailable |
Логическое значение, указывающее, что новая запись доступна для предварительного просмотра (где True означает доступность). (Только чтение) |
Статические Методы
Discard |
Удалить текущую запись. |
HideCameraPreview |
Скрыть вид предварительного просмотра камеры. |
PauseBroadcasting |
Приостанавливает текущую трансляцию. Если трансляция не ведется, ничего не делает. |
Preview |
Предварительный просмотр текущей записи |
ResumeBroadcasting |
Возобновляет текущую трансляцию. Если трансляция не ведется, ничего не делает. |
ShowCameraPreviewAt |
Показывает предварительный просмотр камеры в координатах posX и posY. Предварительный просмотр имеет размер ширины на высоту. |
StartBroadcasting |
Инициирует и запускает новую трансляцию. При вызове StartBroadcast пользователю предоставляется экран выбора провайдера вещания, а затем экран настройки вещания. После его завершения будет запущена широковещательная рассылка и будет вызван обратный вызов. Он также будет вызываться в случае какой-либо ошибки. |
StartRecording |
Начать новую запись. |
StopBroadcasting |
Останавливает текущую трансляцию. Если трансляция не ведется, ничего не делает. |
StopRecording |
Остановить текущую запись. |
Делегаты