Table of Contents

Class FramePlayer

Espacio de nombres
easyar
Ensayo
EasyAR.Sense.dll

MonoBehaviour que controla easyar.InputFramePlayer y easyar.VideoInputFramePlayer en la escena, proporcionando extensión de funcionalidad en el entorno Unity.

Se utilizará cuando FrameSource sea FramePlayer o cuando se seleccione 'Frame Player' en la herramienta 'Session Validation Tool' del inspector de DiagnosticsController en el editor.

public class FramePlayer : FrameSource
Herencia
FramePlayer
Miembros heredados

Campos

FilePath

Ruta del archivo. Se puede configurar antes de Play().

public string FilePath

FilePathType

Tipo de ruta. Se puede configurar antes de Play().

public WritablePathType FilePathType

Propiedades

AvailableCenterMode

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante el proceso de Assemble().

Todos los modos de centro disponibles.

protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }

Camera

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante el proceso de Assemble().

En dispositivos de escritorio o móviles, esta cámara representa el Camera correspondiente en el mundo virtual al dispositivo de cámara física en el entorno real. Su matriz de proyección y posición corresponderán a la cámara real, controlada por EasyAR. En un HMD, esta cámara solo se usa para mostrar texto de diagnóstico frente a los ojos, no para renderizar la escena, y no está controlada por EasyAR.

protected override Camera Camera { get; }

CameraCandidate

Alternativa a Camera, solo efectiva cuando no se usa Unity XR Origin. Si no está configurada, se usará Camera.main.

public Camera CameraCandidate { get; set; }

CameraFrameStarted

Proporcionado solo al crear una nueva fuente de frames. Se accede durante todo el ciclo de vida del ARSession.

Indica si ha comenzado la entrada de frames de cámara.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Proporcionado solo al crear una nueva fuente de frames. Se accede cuando CameraFrameStarted es true.

Proporciona la(s) cámara(s) del dispositivo que suministra(n) los datos de los frames de cámara. Si los datos de los frames provienen de múltiples cámaras, la lista debe contenerlas todas.

Asegúrate de que el valor sea correcto cuando CameraFrameStarted sea true.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante el proceso de Assemble().

Proporciona información del sistema de visualización. Puedes usar DefaultSystemDisplay o DefaultHMDDisplay para obtener la información de visualización predeterminada.

protected override IDisplay Display { get; }

IsAvailable

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante el proceso de Assemble().

Indica si la fuente de frames actual está disponible.

Si el valor es null, se llamará a CheckAvailability() y el valor se obtendrá después de que finalice la Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante el proceso de Assemble().

Cuando es true, la sesión actualizará el transform de la cámara y renderizará la imagen de la cámara.

Al crear una extensión para HMD, debe ser false. Debes tener control total sobre la cámara 3D en la escena. Debes manejar el renderizado de la cámara, especialmente en modo VST.

protected override bool IsCameraUnderControl { get; }

IsCompleted

Indica si la reproducción ha finalizado.

public bool IsCompleted { get; }

IsHMD

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante el proceso de Assemble().

Indica si la fuente de frames actual es un dispositivo de visualización montado en la cabeza (HMD). Si es un HMD, la información de diagnóstico se mostrará en un panel 3D frente a la cámara.

Algunos filtros de frames se comportan de manera diferente cuando se ejecutan en dispositivos.

protected override bool IsHMD { get; }

IsSeekable

Indica si se puede ubicar el momento de reproducción actual. Si la grabación se interrumpió anormalmente, puede faltar datos de índice, impidiendo establecer el tiempo de reproducción actual.

public bool IsSeekable { get; }

IsSpeedChangeable

Indica si se puede modificar la velocidad de reproducción.

public bool IsSpeedChangeable { get; }

IsStarted

Indica si la reproducción ha comenzado.

public bool IsStarted { get; }

Length

Duración total esperada de la reproducción. En segundos.

public Optional<double> Length { get; }

Speed

Velocidad de reproducción actual.

public double Speed { get; set; }

Time

Tiempo que ya se ha reproducido.

public double Time { get; }

Métodos

OnSessionStart(ARSession)

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante el proceso de StartSession().

Maneja el inicio de la sesión, si esta fuente de frames se ha ensamblado en Assembly. Este método está diseñado para inicialización diferida; aquí puedes realizar trabajos de inicialización específicos de AR.

protected override void OnSessionStart(ARSession session)

Parámetros

session

OnSessionStop()

Proporcionado solo al crear una nueva fuente de frames. Se accede durante StopSession(bool) u otros procesos de detención/daño de la sesión.

Maneja la detención de la sesión, si esta fuente de frames se ha ensamblado en Assembly. Puedes usar este método para destruir los recursos creados durante StartSession() y la ejecución de la sesión, y restaurar el estado interno. Se garantiza que este método se llamará antes de destruir la sesión. Si la fuente de frames se destruye antes que la sesión, este método no se llamará y la sesión se dañará.

protected override void OnSessionStop()

Play()

Reproduce un archivo .eif. Si no se llama manualmente a Play() o a Stop(), se llamará automáticamente a Play() después de iniciar el ARSession.

Solo se puede usar después de iniciar la sesión.

public bool Play()

Seek(double)

Establece el momento actual de reproducción. En segundos. Devuelve false si faltan datos de índice.

public bool Seek(double time)

Parámetros

time

Stop()

Detiene la reproducción del archivo .eif.

public void Stop()