ARCoreCameraDevice Class

Description

ARCoreCameraDevice implements a camera device based on ARCore, which outputs InputFrame (including image, camera parameters, timestamp, 6DOF location, and tracking status).

Loading of libarcore_sdk_c.so with java.lang.System.loadLibrary is required.

After creation, start/stop can be invoked to start or stop video stream capture.

When the component is not needed anymore, call close function to close it. It shall not be used after calling close.

ARCoreCameraDevice outputs InputFrame from inputFrameSource. inputFrameSource shall be connected to InputFrameSink for use. Refer to Overview .

bufferCapacity is the capacity of InputFrame buffer. If the count of InputFrame which has been output from the device and have not been released is more than this number, the device will not output new InputFrame , until previous InputFrame have been released. This may cause screen stuck. Refer to Overview .

Caution: Currently, ARCore(v1.13.0) has memory leaks on creating and destroying sessions. Repeated creations and destructions will cause an increasing and non-reclaimable memory footprint.

Constructor

C

void easyar_ARCoreCameraDevice__ctor(easyar_ARCoreCameraDevice * * Return)

C++

ARCoreCameraDevice()

Java

public ARCoreCameraDevice()

Kotlin

constructor()

Objective-C

+ (easyar_ARCoreCameraDevice *) create

Swift

public convenience init()

C#

public ARCoreCameraDevice()

isAvailable

Checks if the component is available. It returns true only on Android when ARCore is installed.

If called with libarcore_sdk_c.so not loaded, it returns false.

Notice: If ARCore is not supported on the device but ARCore apk is installed via side-loading, it will return true, but ARCore will not function properly.

C

bool easyar_ARCoreCameraDevice_isAvailable(void)

C++

static bool isAvailable()

Java

public static boolean isAvailable()

Kotlin

companion object fun isAvailable(): Boolean

Objective-C

+ (bool)isAvailable

Swift

public static func isAvailable() -> Bool

C#

public static bool isAvailable()

bufferCapacity

InputFrame buffer capacity. The default is 8.

C

int easyar_ARCoreCameraDevice_bufferCapacity(const easyar_ARCoreCameraDevice * This)

C++

int bufferCapacity()

Java

public int bufferCapacity()

Kotlin

fun bufferCapacity(): Int

Objective-C

- (int)bufferCapacity

Swift

public func bufferCapacity() -> Int32

C#

public virtual int bufferCapacity()

setBufferCapacity

Sets InputFrame buffer capacity.

C

void easyar_ARCoreCameraDevice_setBufferCapacity(easyar_ARCoreCameraDevice * This, int capacity)

C++

void setBufferCapacity(int capacity)

Java

public void setBufferCapacity(int capacity)

Kotlin

fun setBufferCapacity(capacity: Int): Unit

Objective-C

- (void)setBufferCapacity:(int)capacity

Swift

public func setBufferCapacity(_ capacity: Int32) -> Void

C#

public virtual void setBufferCapacity(int capacity)

inputFrameSource

InputFrame output port.

C

void easyar_ARCoreCameraDevice_inputFrameSource(easyar_ARCoreCameraDevice * This, easyar_InputFrameSource * * Return)

C++

std::shared_ptr<InputFrameSource> inputFrameSource()

Java

public @Nonnull InputFrameSource inputFrameSource()

Kotlin

fun inputFrameSource(): InputFrameSource

Objective-C

- (easyar_InputFrameSource *)inputFrameSource

Swift

public func inputFrameSource() -> InputFrameSource

C#

public virtual InputFrameSource inputFrameSource()

setFocusMode

Sets focus mode to focusMode. Call before start.

C

void easyar_ARCoreCameraDevice_setFocusMode(easyar_ARCoreCameraDevice * This, easyar_ARCoreCameraDeviceFocusMode focusMode)

C++

void setFocusMode(ARCoreCameraDeviceFocusMode focusMode)

Java

public void setFocusMode(int focusMode)

Kotlin

fun setFocusMode(focusMode: Int): Unit

Objective-C

- (void)setFocusMode:(easyar_ARCoreCameraDeviceFocusMode)focusMode

Swift

public func setFocusMode(_ focusMode: ARCoreCameraDeviceFocusMode) -> Void

C#

public virtual void setFocusMode(ARCoreCameraDeviceFocusMode focusMode)

start

Starts video stream capture.

C

bool easyar_ARCoreCameraDevice_start(easyar_ARCoreCameraDevice * This)

C++

bool start()

Java

public boolean start()

Kotlin

fun start(): Boolean

Objective-C

- (bool)start

Swift

public func start() -> Bool

C#

public virtual bool start()

stop

Stops video stream capture.

C

void easyar_ARCoreCameraDevice_stop(easyar_ARCoreCameraDevice * This)

C++

void stop()

Java

public void stop()

Kotlin

fun stop(): Unit

Objective-C

- (void)stop

Swift

public func stop() -> Void

C#

public virtual void stop()

close

Close. The component shall not be used after calling close.

C

void easyar_ARCoreCameraDevice_close(easyar_ARCoreCameraDevice * This)

C++

void close()

Java

public void close()

Kotlin

fun close(): Unit

Objective-C

- (void)close

Swift

public func close() -> Void

C#

public virtual void close()