Table of Contents

Class Recorder

Ruang Nama
easyar

Recorder mengimplementasikan fungsi perekaman layar untuk lingkungan rendering saat ini. Saat ini, Recorder hanya bekerja di lingkungan Android (4.3 atau lebih baru) dan iOS dengan OpenGLES 3.0. Karena bergantung pada OpenGLES, semua fungsi kelas ini (kecuali requestPermissions, termasuk destruktor) harus dipanggil dalam satu utas yang berisi konteks OpenGLES. Hanya untuk Unity Jika menggunakan fungsi rendering multi-threaded di Unity, utas skrip akan terpisah dari utas rendering, dan tidak dapat memanggil updateFrame pada utas rendering. Oleh karena itu, jika perlu menggunakan fungsi perekaman layar, nonaktifkan fungsi rendering multi-threaded. Saat digunakan di Android, perlu menambahkan deklarasi izin android.permission.RECORD_AUDIO di AndroidManifest.xml. Saat digunakan di iOS, perlu menambahkan deklarasi izin NSMicrophoneUsageDescription di Info.plist.

Recorder

Metode

isAvailable

Hanya mengembalikan true di platform Android 4.3 atau lebih tinggi atau 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 izin sistem yang diperlukan untuk perekaman layar. Anda dapat memilih untuk menggunakan fungsi ini atau memanggil fungsi sistem sendiri untuk meminta izin. Hanya berlaku di platform Android dan iOS; di platform lain, perilakunya adalah langsung memanggil callback untuk memberi tahu bahwa izin telah diberikan. Fungsi ini harus dipanggil di utas 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)

Parameter

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

Mengembalikan

Tipe Deskripsi
Void

create

Membuat dan menginisialisasi fungsi perekaman layar. Beberapa perubahan status dan log yang sesuai akan diberitahukan dalam 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)

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 memanggil stop, akan menunggu hingga penulisan file selesai dan mengembalikan hasil 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