Table of Contents

Class Recorder

Namespace
easyar

Recorder implementiert Bildschirmaufzeichnung für die aktuelle Rendering-Umgebung. Der aktuelle Recorder funktioniert nur unter Android (4.3 oder neuer) und in der OpenGL ES 3.0-Umgebung unter iOS. Da er von OpenGLES abhängt, müssen alle Funktionen dieser Klasse (außer requestPermissions, einschließlich Destruktor) in einem einzelnen Thread aufgerufen werden, der einen OpenGLES-Kontext enthält. Unity Only Wenn in Unity Multi-threaded rendering verwendet wird, wird der Skript-Thread vom Rendering-Thread getrennt, und updateFrame kann nicht im Rendering-Thread aufgerufen werden. Wenn Bildschirmaufzeichnung benötigt wird, sollte Multi-threaded rendering daher deaktiviert werden. Bei Verwendung unter Android muss die Berechtigungsdeklaration android.permission.RECORD_AUDIO zu AndroidManifest.xml hinzugefügt werden. Bei Verwendung unter iOS muss die Berechtigungsdeklaration NSMicrophoneUsageDescription zu Info.plist hinzugefügt werden.

Recorder

Methoden

isAvailable

Gibt true nur unter Android 4.3 oder neuer oder auf der iOS-Plattform zurück.

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()

Rückgabewert

Typ Beschreibung
Boolean

requestPermissions

Fordert die für die Bildschirmaufzeichnung erforderlichen Systemberechtigungen an. Sie können diese Funktion verwenden oder selbst Systemfunktionen aufrufen, um Berechtigungen anzufordern. Sie ist nur auf Android und iOS gültig. Auf anderen Plattformen wird direkt der callback aufgerufen, um zu melden, dass die Berechtigung erteilt wurde. Diese Funktion sollte im UI thread aufgerufen werden.

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)

Parameter

Name Typ Beschreibung
callbackScheduler CallbackScheduler
permissionCallback Optional<Action<PermissionStatus,String>>

Rückgabewert

Typ Beschreibung
Void

create

Erstellt und initialisiert die Bildschirmaufzeichnung. Der statusCallback-callback meldet einige Statusänderungen und die entsprechenden Logs.

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)

Parameter

Name Typ Beschreibung
config RecorderConfiguration
callbackScheduler CallbackScheduler
statusCallback Optional<Action<RecordStatus,>>

Rückgabewert

Typ Beschreibung
Recorder

start

Startet die Bildschirmaufzeichnung.

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()

Rückgabewert

Typ Beschreibung
Void

updateFrame

Zeichnet einen frame von Daten mit texture auf.

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)

Parameter

Name Typ Beschreibung
texture TextureId
width Int32
height Int32

Rückgabewert

Typ Beschreibung
Void

stop

Stoppt die Bildschirmaufzeichnung. Nachdem stop aufgerufen wurde, wartet es auf den Abschluss des Dateischreibens und gibt zurück, ob die Aufzeichnung erfolgreich war.

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()

Rückgabewert

Typ Beschreibung
Boolean