Table of Contents

Class Recorder

Namespace
easyar

Recorder implementiert die Bildschirmaufnahmefunktion für die aktuelle Rendering-Umgebung. Derzeit funktioniert Recorder nur unter Android (4.3 oder neuer) und iOS mit OpenGL ES 3.0-Umgebung. Aufgrund der Abhängigkeit von OpenGLES müssen alle Funktionen dieser Klasse (außer requestPermissions, einschließlich Destruktoren) in einem einzigen Thread mit OpenGLES-Kontext aufgerufen werden. Nur für Unity Wenn in Unity die Multi-threaded Rendering-Funktion verwendet wird, wird der Skript-Thread vom Rendering-Thread getrennt, und updateFrame kann nicht auf dem Rendering-Thread aufgerufen werden. Daher sollte Multi-threaded Rendering deaktiviert werden, wenn die Bildschirmaufnahmefunktion benötigt wird. Bei Verwendung unter Android muss in der AndroidManifest.xml die Berechtigungserklärung android.permission.RECORD_AUDIO hinzugefügt werden. Bei Verwendung unter iOS muss in der Info.plist die Berechtigungserklärung NSMicrophoneUsageDescription hinzugefügt werden.

Recorder

Methoden

isAvailable

Gibt nur unter Android 4.3 oder höher oder auf iOS-Plattformen true 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 Bildschirmaufnahme erforderlichen Systemberechtigungen an. Sie können diese Funktion verwenden oder selbst Systemfunktionen aufrufen, um Berechtigungen zu beantragen. Funktioniert nur auf Android- und iOS-Plattformen; auf anderen Plattformen wird der Callback direkt aufgerufen, um mitzuteilen, dass die Berechtigung erteilt wurde. 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 Bildschirmaufnahmefunktion. Im statusCallback werden einige Statusänderungen und entsprechende Protokolle benachrichtigt.

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 Bildschirmaufnahme.

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 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 Bildschirmaufnahme. Nach dem Aufruf von stop wird auf das Ende des Dateischreibens gewartet und das Ergebnis zurückgegeben, ob die Aufnahme 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