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