Class ARCoreCameraDevice
ARCoreCameraDevice implementa un dispositivo de cámara basado en ARCore, que genera InputFrame (contiene imagen, parámetros de cámara, marca de tiempo, información de posición 6DOF y estado de seguimiento).
Antes de usar, es necesario cargar libarcore_sdk_c.so mediante java.lang.System.loadLibrary.
Tras su creación, se puede usar start/stop para iniciar/detener la captura de datos de flujo de video.
Cuando el dispositivo ya no sea necesario, llame a close para cerrarlo. No debe seguir usándose después del close.
ARCoreCameraDevice genera InputFrame a través de inputFrameSource; inputFrameSource debe conectarse a InputFrameSink para su uso.
bufferCapacity indica la capacidad del buffer de InputFrame. Si se generan más InputFrame de este dispositivo que este número y no se liberan, el dispositivo dejará de generar nuevos InputFrame hasta que se liberen los anteriores. Esto puede causar problemas como congelamiento de imagen.
Nota: La implementación actual de ARCore (v1.13.0) tiene fugas de memoria al crear/destruir sesiones. La creación/destrucción repetida aumentará continuamente el uso de memoria sin liberarse tras la destrucción.
ARCoreCameraDevice
Constructores
ARCoreCameraDevice
void easyar_ARCoreCameraDevice__ctor(easyar_ARCoreCameraDevice * * Return)
public ARCoreCameraDevice()
+ (easyar_ARCoreCameraDevice *) create
public convenience init()
public ARCoreCameraDevice()
Métodos
isAvailable
Verifica si está disponible. Solo retorna true en Android con ARCore instalado.
Retorna false si se llama sin cargar libarcore_sdk_c.so.
Nota: Si el dispositivo no soporta ARCore pero tiene instalado el APK de ARCore mediante sideloading, esta función retornará true, pero ARCore no funcionará correctamente.
bool easyar_ARCoreCameraDevice_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
public static func isAvailable() -> Bool
public static bool isAvailable()
Devuelve
isDeviceSupported
Verifica si el dispositivo actual es compatible.
bool easyar_ARCoreCameraDevice_isDeviceSupported(void)
static bool isDeviceSupported()
public static boolean isDeviceSupported()
companion object fun isDeviceSupported(): Boolean
+ (bool)isDeviceSupported
public static func isDeviceSupported() -> Bool
public static bool isDeviceSupported()
Devuelve
bufferCapacity
Capacidad del buffer de InputFrame. Valor predeterminado: 8.
int easyar_ARCoreCameraDevice_bufferCapacity(const easyar_ARCoreCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Devuelve
setBufferCapacity
void easyar_ARCoreCameraDevice_setBufferCapacity(easyar_ARCoreCameraDevice * This, int capacity)
void setBufferCapacity(int capacity)
public void setBufferCapacity(int capacity)
fun setBufferCapacity(capacity: Int): Unit
- (void)setBufferCapacity:(int)capacity
public func setBufferCapacity(_ capacity: Int32) -> Void
public virtual void setBufferCapacity(int capacity)
Parámetros
| Nombre |
Tipo |
Descripción |
| capacity |
Int32 |
|
Devuelve
void easyar_ARCoreCameraDevice_inputFrameSource(easyar_ARCoreCameraDevice * This, easyar_InputFrameSource * * Return)
std::shared_ptr<InputFrameSource> inputFrameSource()
public @Nonnull InputFrameSource inputFrameSource()
fun inputFrameSource(): InputFrameSource
- (easyar_InputFrameSource *)inputFrameSource
public func inputFrameSource() -> InputFrameSource
public virtual InputFrameSource inputFrameSource()
Devuelve
setFocusMode
Establece el modo de enfoque como focusMode.
void easyar_ARCoreCameraDevice_setFocusMode(easyar_ARCoreCameraDevice * This, easyar_ARCoreCameraDeviceFocusMode focusMode)
void setFocusMode(ARCoreCameraDeviceFocusMode focusMode)
public void setFocusMode(int focusMode)
fun setFocusMode(focusMode: Int): Unit
- (void)setFocusMode:(easyar_ARCoreCameraDeviceFocusMode)focusMode
public func setFocusMode(_ focusMode: ARCoreCameraDeviceFocusMode) -> Void
public virtual void setFocusMode(ARCoreCameraDeviceFocusMode focusMode)
Parámetros
Devuelve
start
Inicia la captura de datos de flujo de video.
bool easyar_ARCoreCameraDevice_start(easyar_ARCoreCameraDevice * This)
public func start() -> Bool
public virtual bool start()
Devuelve
stop
Detiene la captura de datos de flujo de video.
void easyar_ARCoreCameraDevice_stop(easyar_ARCoreCameraDevice * This)
public func stop() -> Void
public virtual void stop()
Devuelve
close
Cierra. No debe seguir usándose después del close.
void easyar_ARCoreCameraDevice_close(easyar_ARCoreCameraDevice * This)
public func close() -> Void
public virtual void close()
Devuelve
type
easyar_CameraDeviceType easyar_ARCoreCameraDevice_type(const easyar_ARCoreCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Devuelve
cameraOrientation
Ángulo de rotación horaria requerido para mostrar la imagen de la cámara en la orientación natural del dispositivo.
int easyar_ARCoreCameraDevice_cameraOrientation(const easyar_ARCoreCameraDevice * This)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Devuelve
size
Obtiene el tamaño de imagen actual.
easyar_Vec2I easyar_ARCoreCameraDevice_size(const easyar_ARCoreCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Devuelve
frameRateRangeLower
Obtiene el límite inferior del rango de fps actual.
double easyar_ARCoreCameraDevice_frameRateRangeLower(const easyar_ARCoreCameraDevice * This)
double frameRateRangeLower()
public double frameRateRangeLower()
fun frameRateRangeLower(): Double
- (double)frameRateRangeLower
public func frameRateRangeLower() -> Double
public virtual double frameRateRangeLower()
Devuelve
frameRateRangeUpper
Obtiene el límite superior del rango de fps actual.
double easyar_ARCoreCameraDevice_frameRateRangeUpper(const easyar_ARCoreCameraDevice * This)
double frameRateRangeUpper()
public double frameRateRangeUpper()
fun frameRateRangeUpper(): Double
- (double)frameRateRangeUpper
public func frameRateRangeUpper() -> Double
public virtual double frameRateRangeUpper()
Devuelve