Table of Contents

Class VideoInputFrameRecorder

命名空間
easyar

輸入幀錄製器。 有一個輸入幀輸入埠和一個輸入幀輸出埠,用於將經過的輸入幀保存到EIF MKV文件中。 本類的所有成員都是執行緒安全的。

VideoInputFrameRecorder

方法

isAvailable

檢查是否可用。只在MacOS、iOS、Android上返回true。

bool easyar_VideoInputFrameRecorder_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

input

輸入埠。

void easyar_VideoInputFrameRecorder_input(easyar_VideoInputFrameRecorder * This, easyar_InputFrameSink * * Return)
std::shared_ptr<InputFrameSink> input()
public @Nonnull InputFrameSink input()
fun input(): InputFrameSink
- (easyar_InputFrameSink *)input
public func input() -> InputFrameSink
public virtual InputFrameSink input()

傳回值

類型 描述
InputFrameSink

accelerometerResultSink

可選。加速度計結果輸入埠。參考 AccelerometerResultSink

void easyar_VideoInputFrameRecorder_accelerometerResultSink(easyar_VideoInputFrameRecorder * This, easyar_AccelerometerResultSink * * Return)
std::shared_ptr<AccelerometerResultSink> accelerometerResultSink()
public @Nonnull AccelerometerResultSink accelerometerResultSink()
fun accelerometerResultSink(): AccelerometerResultSink
- (easyar_AccelerometerResultSink *)accelerometerResultSink
public func accelerometerResultSink() -> AccelerometerResultSink
public virtual AccelerometerResultSink accelerometerResultSink()

傳回值

類型 描述
AccelerometerResultSink

gyroscopeResultSink

可選。陀螺儀結果輸入埠。參考 GyroscopeResultSink

void easyar_VideoInputFrameRecorder_gyroscopeResultSink(easyar_VideoInputFrameRecorder * This, easyar_GyroscopeResultSink * * Return)
std::shared_ptr<GyroscopeResultSink> gyroscopeResultSink()
public @Nonnull GyroscopeResultSink gyroscopeResultSink()
fun gyroscopeResultSink(): GyroscopeResultSink
- (easyar_GyroscopeResultSink *)gyroscopeResultSink
public func gyroscopeResultSink() -> GyroscopeResultSink
public virtual GyroscopeResultSink gyroscopeResultSink()

傳回值

類型 描述
GyroscopeResultSink

attitudeSensorResultSink

可選。姿態傳感器結果輸入埠。參考 AttitudeSensorResultSink

void easyar_VideoInputFrameRecorder_attitudeSensorResultSink(easyar_VideoInputFrameRecorder * This, easyar_AttitudeSensorResultSink * * Return)
std::shared_ptr<AttitudeSensorResultSink> attitudeSensorResultSink()
public @Nonnull AttitudeSensorResultSink attitudeSensorResultSink()
fun attitudeSensorResultSink(): AttitudeSensorResultSink
- (easyar_AttitudeSensorResultSink *)attitudeSensorResultSink
public func attitudeSensorResultSink() -> AttitudeSensorResultSink
public virtual AttitudeSensorResultSink attitudeSensorResultSink()

傳回值

類型 描述
AttitudeSensorResultSink

magnetometerResultSink

可選。磁力計結果輸入埠。參考 MagnetometerResultSink

void easyar_VideoInputFrameRecorder_magnetometerResultSink(easyar_VideoInputFrameRecorder * This, easyar_MagnetometerResultSink * * Return)
std::shared_ptr<MagnetometerResultSink> magnetometerResultSink()
public @Nonnull MagnetometerResultSink magnetometerResultSink()
fun magnetometerResultSink(): MagnetometerResultSink
- (easyar_MagnetometerResultSink *)magnetometerResultSink
public func magnetometerResultSink() -> MagnetometerResultSink
public virtual MagnetometerResultSink magnetometerResultSink()

傳回值

類型 描述
MagnetometerResultSink

locationResultSink

可選。位置結果輸入埠。參考 LocationResultSink

void easyar_VideoInputFrameRecorder_locationResultSink(easyar_VideoInputFrameRecorder * This, easyar_LocationResultSink * * Return)
std::shared_ptr<LocationResultSink> locationResultSink()
public @Nonnull LocationResultSink locationResultSink()
fun locationResultSink(): LocationResultSink
- (easyar_LocationResultSink *)locationResultSink
public func locationResultSink() -> LocationResultSink
public virtual LocationResultSink locationResultSink()

傳回值

類型 描述
LocationResultSink

proximityLocationResultSink

可選。鄰近位置結果輸入埠。參考 ProximityLocationResultSink

void easyar_VideoInputFrameRecorder_proximityLocationResultSink(easyar_VideoInputFrameRecorder * This, easyar_ProximityLocationResultSink * * Return)
std::shared_ptr<ProximityLocationResultSink> proximityLocationResultSink()
public @Nonnull ProximityLocationResultSink proximityLocationResultSink()
fun proximityLocationResultSink(): ProximityLocationResultSink
- (easyar_ProximityLocationResultSink *)proximityLocationResultSink
public func proximityLocationResultSink() -> ProximityLocationResultSink
public virtual ProximityLocationResultSink proximityLocationResultSink()

傳回值

類型 描述
ProximityLocationResultSink

bufferRequirement

當前元件佔用camera buffer的數量。

int easyar_VideoInputFrameRecorder_bufferRequirement(easyar_VideoInputFrameRecorder * This)
int bufferRequirement()
public int bufferRequirement()
fun bufferRequirement(): Int
- (int)bufferRequirement
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()

傳回值

類型 描述
Int32

output

輸出埠。

void easyar_VideoInputFrameRecorder_output(easyar_VideoInputFrameRecorder * This, easyar_InputFrameSource * * Return)
std::shared_ptr<InputFrameSource> output()
public @Nonnull InputFrameSource output()
fun output(): InputFrameSource
- (easyar_InputFrameSource *)output
public func output() -> InputFrameSource
public virtual InputFrameSource output()

傳回值

類型 描述
InputFrameSource

create

創建。

void easyar_VideoInputFrameRecorder_create(easyar_VideoInputFrameRecorder * * Return)
static std::shared_ptr<VideoInputFrameRecorder> create()
public static @Nonnull VideoInputFrameRecorder create()
companion object fun create(): VideoInputFrameRecorder
+ (easyar_VideoInputFrameRecorder *)create
public static func create() -> VideoInputFrameRecorder
public static VideoInputFrameRecorder create()

傳回值

類型 描述
VideoInputFrameRecorder

start

開始錄製數據。cameraDeviceType、cameraOrientation和initialScreenRotation的定義與 CameraParameters 中的一致。initialScreenRotation為錄製數據時的初始屏幕旋轉方向,播放時以此方向為基準進行渲染。

bool easyar_VideoInputFrameRecorder_start(easyar_VideoInputFrameRecorder * This, easyar_String * filePath, easyar_CameraDeviceType cameraDeviceType, int cameraOrientation, int initialScreenRotation, easyar_VideoInputFrameRecorderVideoCodec codec, int width, int height, double frameRate, easyar_String * metadata)
bool start(std::string filePath, CameraDeviceType cameraDeviceType, int cameraOrientation, int initialScreenRotation, VideoInputFrameRecorderVideoCodec codec, int width, int height, double frameRate, std::string metadata)
public boolean start(java.lang.@Nonnull String filePath, int cameraDeviceType, int cameraOrientation, int initialScreenRotation, int codec, int width, int height, double frameRate, java.lang.@Nonnull String metadata)
fun start(filePath: String, cameraDeviceType: Int, cameraOrientation: Int, initialScreenRotation: Int, codec: Int, width: Int, height: Int, frameRate: Double, metadata: String): Boolean
- (bool)start:(NSString *)filePath cameraDeviceType:(easyar_CameraDeviceType)cameraDeviceType cameraOrientation:(int)cameraOrientation initialScreenRotation:(int)initialScreenRotation codec:(easyar_VideoInputFrameRecorderVideoCodec)codec width:(int)width height:(int)height frameRate:(double)frameRate metadata:(NSString *)metadata
public func start(_ filePath: String, _ cameraDeviceType: CameraDeviceType, _ cameraOrientation: Int32, _ initialScreenRotation: Int32, _ codec: VideoInputFrameRecorderVideoCodec, _ width: Int32, _ height: Int32, _ frameRate: Double, _ metadata: String) -> Bool
public virtual bool start(string filePath, CameraDeviceType cameraDeviceType, int cameraOrientation, int initialScreenRotation, VideoInputFrameRecorderVideoCodec codec, int width, int height, double frameRate, string metadata)

參數

名稱 類型 描述
filePath String
cameraDeviceType CameraDeviceType
cameraOrientation Int32
initialScreenRotation Int32
codec VideoInputFrameRecorderVideoCodec
width Int32
height Int32
frameRate Double
metadata String

傳回值

類型 描述
Boolean

stop

停止錄製數據。這個方法只會停止錄製,連接將不會受到影響。

void easyar_VideoInputFrameRecorder_stop(easyar_VideoInputFrameRecorder * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

傳回值

類型 描述
Void

setAutomaticCompletionCallback

設定自動完成錄製回調。

void easyar_VideoInputFrameRecorder_setAutomaticCompletionCallback(easyar_VideoInputFrameRecorder * This, easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromVideoInputFrameRecorderCompletionReason automaticCompletionCallback)
void setAutomaticCompletionCallback(std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(VideoInputFrameRecorderCompletionReason)>> automaticCompletionCallback)
public void setAutomaticCompletionCallback(@Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromVideoInputFrameRecorderCompletionReason automaticCompletionCallback)
fun setAutomaticCompletionCallback(callbackScheduler: CallbackScheduler, automaticCompletionCallback: FunctorOfVoidFromVideoInputFrameRecorderCompletionReason?): Unit
- (void)setAutomaticCompletionCallback:(easyar_CallbackScheduler *)callbackScheduler automaticCompletionCallback:(void (^)(easyar_VideoInputFrameRecorderCompletionReason))automaticCompletionCallback
public func setAutomaticCompletionCallback(_ callbackScheduler: CallbackScheduler, _ automaticCompletionCallback: ((VideoInputFrameRecorderCompletionReason) -> Void)?) -> Void
public virtual void setAutomaticCompletionCallback(CallbackScheduler callbackScheduler, Optional<Action<VideoInputFrameRecorderCompletionReason>> automaticCompletionCallback)

參數

名稱 類型 描述
callbackScheduler CallbackScheduler
automaticCompletionCallback Optional<Action<VideoInputFrameRecorderCompletionReason>>

傳回值

類型 描述
Void