Table of Contents

Class ARCoreCameraDevice

Espace de noms
easyar

ARCoreCameraDevice implémente un périphérique de caméra basé sur ARCore, produisant un InputFrame (contenant l'image, les paramètres de la caméra, l'horodatage, les informations de position 6DOF et l'état de suivi).
Pour l'utiliser, il faut d'abord charger libarcore_sdk_c.so via java.lang.System.loadLibrary.
Après sa création, appelez start/stop pour démarrer et arrêter la capture du flux vidéo.
Lorsque le périphérique n'est plus nécessaire, appelez close pour le fermer. Ne continuez pas à l'utiliser après close.
ARCoreCameraDevice produit le InputFrame via inputFrameSource. Connectez inputFrameSource à un InputFrameSink pour l'utilisation.
bufferCapacity indique la capacité de tampon des InputFrame. Si plus de InputFrame que cette capacité sont produits par le périphérique sans être libérés, celui-ci cessera de produire de nouveaux InputFrame jusqu'à la libération des précédents. Cela peut entraîner des blocages d'image, etc.
Remarque : L'implémentation actuelle d'ARCore (v1.13.0) présente une fuite de mémoire lors de la création et de la destruction de session. Des créations et destructions répétées entraîneront une occupation mémoire qui continue de croître et n'est pas libérée après la destruction.

ARCoreCameraDevice

Constructeurs

ARCoreCameraDevice

void easyar_ARCoreCameraDevice__ctor(easyar_ARCoreCameraDevice * * Return)
ARCoreCameraDevice()
public ARCoreCameraDevice()
constructor()
+ (easyar_ARCoreCameraDevice *) create
public convenience init()
public ARCoreCameraDevice()

Méthodes

isAvailable

Vérifier si disponible. Renvoie true uniquement sur les systèmes Android et lorsque ARCore est installé.
Renvoie false si appelé sans que libarcore_sdk_c.so ne soit chargé.
Remarque : si un appareil ne prend pas en charge ARCore mais que l'APK d'ARCore est installé via sideloading, cette fonction renverra true, mais ARCore ne fonctionnera pas correctement.

bool easyar_ARCoreCameraDevice_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()

Retours

Type Description
Boolean

isDeviceSupported

Vérifiez si l'appareil actuel prend en charge.

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()

Retours

Type Description
Boolean

bufferCapacity

InputFrame capacité de la mémoire tampon, valeur par défaut 8.

int easyar_ARCoreCameraDevice_bufferCapacity(const easyar_ARCoreCameraDevice * This)
int bufferCapacity()
public int bufferCapacity()
fun bufferCapacity(): Int
- (int)bufferCapacity
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()

Retours

Type Description
Int32

setBufferCapacity

Définir la capacité du tampon InputFrame.

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)

Paramètres

Nom Type Description
capacity Int32

Retours

Type Description
Void

inputFrameSource

InputFrame port de sortie

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()

Retours

Type Description
InputFrameSource

setFocusMode

Réglez le mode de mise au point sur 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)

Paramètres

Nom Type Description
focusMode ARCoreCameraDeviceFocusMode

Retours

Type Description
Void

start

Commencer la collecte des données de flux vidéo

bool easyar_ARCoreCameraDevice_start(easyar_ARCoreCameraDevice * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()

Retours

Type Description
Boolean

stop

Arrêtez la collecte des données de flux vidéo.

void easyar_ARCoreCameraDevice_stop(easyar_ARCoreCameraDevice * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

Retours

Type Description
Void

close

close after

void easyar_ARCoreCameraDevice_close(easyar_ARCoreCameraDevice * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

Retours

Type Description
Void

type

type de camera

easyar_CameraDeviceType easyar_ARCoreCameraDevice_type(const easyar_ARCoreCameraDevice * This)
CameraDeviceType type()
public int type()
fun type(): Int
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()

Retours

Type Description
CameraDeviceType

cameraOrientation

l'angle de rotation dans le sens des aiguilles d'une montre nécessaire pour afficher l'image de la caméra dans l'orientation naturelle de l'appareil

int easyar_ARCoreCameraDevice_cameraOrientation(const easyar_ARCoreCameraDevice * This)
int cameraOrientation()
public int cameraOrientation()
fun cameraOrientation(): Int
- (int)cameraOrientation
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()

Retours

Type Description
Int32

size

Obtenir la taille d'image actuelle.

easyar_Vec2I easyar_ARCoreCameraDevice_size(const easyar_ARCoreCameraDevice * This)
Vec2I size()
public @Nonnull Vec2I size()
fun size(): Vec2I
- (easyar_Vec2I *)size
public func size() -> Vec2I
public virtual Vec2I size()

Retours

Type Description
Vec2I

frameRateRangeLower

Obtenir la borne inférieure de la plage de taux de rafraîchissement actuel.

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()

Retours

Type Description
Double

frameRateRangeUpper

Obtenir la borne supérieure de la plage de fréquence d'images actuelle.

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()

Retours

Type Description
Double