Table of Contents

Class Recorder

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

Recorder реализует функцию записи экрана текущей среды рендеринга. В настоящее время Recorder работает только в средах Android (4.3 или новее) и iOS с OpenGL ES 3.0. Из-за зависимости от OpenGLES все функции этого класса (кроме requestPermissions, включая деструктор) должны вызываться в одном потоке, содержащем контекст OpenGLES. Только для Unity В 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, на других платформах поведение заключается в немедленном вызове обратного вызова с уведомлением о предоставлении разрешения. Функцию следует вызывать в потоке UI.

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

Создает и инициализирует функцию записи экрана. В обратном вызове 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

Записывает один кадр данных с использованием текстуры.

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