Class ARCoreCameraDevice
ARCoreCameraDevice implementa un dispositivo camera basado en ARCore y emite InputFrame (incluye image, camera parameters, timestamp, información de posición 6DOF y tracking status). Antes de usarlo, debe usarse java.lang.System.loadLibrary para cargar libarcore_sdk_c.so. Después de crearlo, se puede llamar a start/stop para iniciar y detener la recopilación de datos de video stream. Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. No debe usarse después de close. ARCoreCameraDevice emite InputFrame mediante inputFrameSource, y inputFrameSource debe conectarse a InputFrameSink para usarse. bufferCapacity representa la capacidad del buffer de InputFrame. Si desde el dispositivo se emiten más InputFrame que este número y no se liberan, el dispositivo dejará de emitir nuevos InputFrame hasta que se liberen los InputFrame anteriores. Esto puede causar problemas como congelación de la imagen. Nota: La implementación actual de ARCore (v1.13.0) tiene una fuga de memoria al crear y destruir session. Crear y destruir repetidamente hará que el uso de memoria siga aumentando y no se libere después de destruir.
ARCoreCameraDevice
Constructores
ARCoreCameraDevice
void easyar_ARCoreCameraDevice__ctor(easyar_ARCoreCameraDevice * * Return)
public ARCoreCameraDevice()
+ (easyar_ARCoreCameraDevice *) create
public convenience init()
public ARCoreCameraDevice()
Métodos
isAvailable
Comprueba si está disponible. Devuelve true solo en sistemas Android con ARCore instalado. Llamarla sin cargar libarcore_sdk_c.so devuelve false. Nota: Si el dispositivo no admite ARCore pero el apk de ARCore se instaló mediante sideload, esta función devolverá true, pero ARCore no podrá 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
Comprueba 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. El valor predeterminado es 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 focus mode en 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 recopilación de datos de video stream.
bool easyar_ARCoreCameraDevice_start(easyar_ARCoreCameraDevice * This)
public func start() -> Bool
public virtual bool start()
Devuelve
stop
Detiene la recopilación de datos de video stream.
void easyar_ARCoreCameraDevice_stop(easyar_ARCoreCameraDevice * This)
public func stop() -> Void
public virtual void stop()
Devuelve
close
Cierra. No debe usarse después de 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 en sentido horario necesario para mostrar la imagen de camera 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 image 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 actual de frame rate.
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 actual de frame rate.
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