Table of Contents

Class Recorder

Пространство имен
easyar

Recorder реализует запись экрана для текущей среды рендеринга. Текущий Recorder работает только на Android (4.3 или новее) и в среде OpenGL ES 3.0 на iOS. Поскольку он зависит от OpenGLES, все функции этого класса (кроме requestPermissions, включая деструктор) должны вызываться в одном потоке, содержащем контекст OpenGLES. Unity Only В Unity, если используется Multi-threaded rendering, поток скриптов отделяется от потока рендеринга, и updateFrame нельзя вызвать в потоке рендеринга. Поэтому, если требуется запись экрана, функцию Multi-threaded rendering следует отключить. При использовании на Android необходимо добавить объявление разрешения android.permission.RECORD_AUDIO в AndroidManifest.xml. При использовании на iOS необходимо добавить объявление разрешения NSMicrophoneUsageDescription в Info.plist.

Recorder

Методы

isAvailable

Возвращает true только на Android 4.3 или новее либо на платформе iOS.

bool easyar_Recorder_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
+ (bool)isAvailable
public static func isAvailable() -> Bool
public static bool isAvailable()

Возвращаемое значение

Тип Описание
Boolean

requestPermissions

Запрашивает системные разрешения, необходимые для записи экрана. Вы можете использовать эту функцию или самостоятельно вызвать системные функции для запроса разрешений. Действует только на Android и iOS. На других платформах поведение заключается в прямом вызове callback с уведомлением, что разрешение предоставлено. Эту функцию следует вызывать в UI thread.

void easyar_Recorder_requestPermissions(easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromPermissionStatusAndString permissionCallback)
static void requestPermissions(std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(PermissionStatus, std::string)>> permissionCallback)
public static void requestPermissions(@Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromPermissionStatusAndString permissionCallback)
companion object fun requestPermissions(callbackScheduler: CallbackScheduler, permissionCallback: FunctorOfVoidFromPermissionStatusAndString?): Unit
+ (void)requestPermissions:(easyar_CallbackScheduler *)callbackScheduler permissionCallback:(void (^)(easyar_PermissionStatus status, NSString * value))permissionCallback
public static func requestPermissions(_ callbackScheduler: CallbackScheduler, _ permissionCallback: ((PermissionStatus, String) -> Void)?) -> Void
public static void requestPermissions(CallbackScheduler callbackScheduler, Optional<Action<PermissionStatus, string>> permissionCallback)

Параметры

Имя Тип Описание
callbackScheduler CallbackScheduler
permissionCallback Optional<Action<PermissionStatus,String>>

Возвращаемое значение

Тип Описание
Void

create

Создает и инициализирует запись экрана. Callback statusCallback сообщает о некоторых изменениях состояния и соответствующих журналах.

void easyar_Recorder_create(easyar_RecorderConfiguration * config, easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromRecordStatusAndString statusCallback, easyar_Recorder * * Return)
static std::shared_ptr<Recorder> create(std::shared_ptr<RecorderConfiguration> config, std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(RecordStatus, std::string)>> statusCallback)
public static @Nonnull Recorder create(@Nonnull RecorderConfiguration config, @Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromRecordStatusAndString statusCallback)
companion object fun create(config: RecorderConfiguration, callbackScheduler: CallbackScheduler, statusCallback: FunctorOfVoidFromRecordStatusAndString?): Recorder
+ (easyar_Recorder *)create:(easyar_RecorderConfiguration *)config callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler statusCallback:(void (^)(easyar_RecordStatus status, NSString * value))statusCallback
public static func create(_ config: RecorderConfiguration, _ callbackScheduler: CallbackScheduler, _ statusCallback: ((RecordStatus, String) -> Void)?) throws -> Recorder
public static Recorder create(RecorderConfiguration config, CallbackScheduler callbackScheduler, Optional<Action<RecordStatus, string>> statusCallback)

Параметры

Имя Тип Описание
config RecorderConfiguration
callbackScheduler CallbackScheduler
statusCallback Optional<Action<RecordStatus,>>

Возвращаемое значение

Тип Описание
Recorder

start

Запускает запись экрана.

void easyar_Recorder_start(easyar_Recorder * This)
void start()
public void start()
fun start(): Unit
- (void)start
public func start() -> Void
public virtual void start()

Возвращаемое значение

Тип Описание
Void

updateFrame

Записывает один frame данных с использованием texture.

void easyar_Recorder_updateFrame(easyar_Recorder * This, easyar_TextureId * texture, int width, int height)
void updateFrame(std::shared_ptr<TextureId> texture, int width, int height)
public void updateFrame(@Nonnull TextureId texture, int width, int height)
fun updateFrame(texture: TextureId, width: Int, height: Int): Unit
- (void)updateFrame:(easyar_TextureId *)texture width:(int)width height:(int)height
public func updateFrame(_ texture: TextureId, _ width: Int32, _ height: Int32) -> Void
public virtual void updateFrame(TextureId texture, int width, int height)

Параметры

Имя Тип Описание
texture TextureId
width Int32
height Int32

Возвращаемое значение

Тип Описание
Void

stop

Останавливает запись экрана. После вызова stop ожидает завершения записи файла и возвращает, успешна ли запись.

bool easyar_Recorder_stop(easyar_Recorder * This)
bool stop()
public boolean stop()
fun stop(): Boolean
- (bool)stop
public func stop() -> Bool
public virtual bool stop()

Возвращаемое значение

Тип Описание
Boolean