Table of Contents

Class Recorder

Ruang Nama
easyar

Recorder mengimplementasikan perekaman layar untuk lingkungan rendering saat ini. Recorder saat ini hanya bekerja di Android (4.3 atau lebih baru) dan lingkungan OpenGL ES 3.0 di iOS. Karena bergantung pada OpenGLES, semua fungsi class ini (kecuali requestPermissions, termasuk destructor) harus dipanggil dalam satu thread yang berisi konteks OpenGLES. Unity Only Di Unity, jika fitur Multi-threaded rendering digunakan, thread skrip akan terpisah dari thread rendering, dan updateFrame tidak dapat dipanggil pada thread rendering. Oleh karena itu, jika fungsi perekaman layar diperlukan, fitur Multi-threaded rendering harus dinonaktifkan. Saat digunakan di Android, deklarasi permission android.permission.RECORD_AUDIO harus ditambahkan ke AndroidManifest.xml. Saat digunakan di iOS, deklarasi permission NSMicrophoneUsageDescription harus ditambahkan ke Info.plist.

Recorder

Metode

isAvailable

Mengembalikan true hanya pada Android 4.3 atau lebih baru, atau pada platform 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()

Mengembalikan

Tipe Deskripsi
Boolean

requestPermissions

Meminta permission sistem yang diperlukan untuk perekaman layar. Anda dapat memilih untuk menggunakan fungsi ini atau memanggil fungsi sistem sendiri untuk meminta permission. Hanya valid pada platform Android dan iOS. Pada platform lain, perilakunya adalah langsung memanggil callback untuk memberi tahu bahwa permission telah diberikan. Fungsi ini harus dipanggil pada 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)

Parameter

Nama Tipe Deskripsi
callbackScheduler CallbackScheduler
permissionCallback Optional<Action<PermissionStatus,String>>

Mengembalikan

Tipe Deskripsi
Void

create

Membuat dan menginisialisasi fungsi perekaman layar. Callback statusCallback akan melaporkan beberapa perubahan status dan log terkait.

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

Nama Tipe Deskripsi
config RecorderConfiguration
callbackScheduler CallbackScheduler
statusCallback Optional<Action<RecordStatus,>>

Mengembalikan

Tipe Deskripsi
Recorder

start

Memulai perekaman layar.

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

Mengembalikan

Tipe Deskripsi
Void

updateFrame

Merekam satu frame data menggunakan 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)

Parameter

Nama Tipe Deskripsi
texture TextureId
width Int32
height Int32

Mengembalikan

Tipe Deskripsi
Void

stop

Menghentikan perekaman layar. Setelah stop dipanggil, fungsi akan menunggu penulisan file selesai dan mengembalikan apakah perekaman berhasil.

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

Mengembalikan

Tipe Deskripsi
Boolean