Class FramePlayer
- Espacio de nombres
- easyar
- Ensayo
- EasyAR.Sense.dll
Controla en la escena easyar.InputFramePlayer y easyar.VideoInputFramePlayer como MonoBehaviour, proporcionando extensión de funcionalidad en entorno Unity.
Se usará cuando FrameSource sea FramePlayer o cuando se seleccione 'Frame-Player' en el inspector de DiagnosticsController en el editor mediante la 'Session Validation Tool'.
public class FramePlayer : FrameSource
- Herencia
-
FramePlayer
- Miembros heredados
Campos
FilePath
Ruta del archivo. Puede configurarse antes de Play().
public string FilePath
FilePathType
Tipo de ruta. Puede configurarse antes de Play().
public WritablePathType FilePathType
Propiedades
AvailableCenterMode
Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso de Assemble().
Todos los modos de centro disponibles para usar.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Proporcionado solo al crear una nueva fuente de fotogramas. 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 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 al usuario, no para renderizar la imagen, y no está controlada por EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa a Camera, solo efectiva si no se usa Unity XR Origin. Si no se establece, se usará Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Proporcionado solo al crear una nueva fuente de fotogramas. Se accede durante todo el ciclo de vida de la ARSession.
Indica si ha comenzado la entrada de fotogramas de la cámara.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Proporcionado solo al crear una nueva fuente de fotogramas. Se accede solo cuando CameraFrameStarted es true.
Proporciona la cámara del dispositivo que suministra los datos del fotograma de la cámara. Si los datos provienen de múltiples cámaras, la lista debe contener 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 fotogramas. 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 fotogramas. Solo se accede durante el proceso de Assemble().
Indica si la fuente de fotogramas 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 fotogramas. Solo se accede durante el proceso de Assemble().
Cuando es true, la sesión actualiza el transform de la cámara y renderiza la imagen de la cámara.
Al crear una extensión para HMD, debe ser false. Debes controlar completamente la cámara 3D en la escena y manejar su renderizado, especialmente en modo VST.
protected override bool IsCameraUnderControl { get; }
IsCompleted
Si la reproducción ha finalizado.
public bool IsCompleted { get; }
IsHMD
Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso de Assemble().
Indica si la fuente de fotogramas actual es un visor (HMD). Si es un HMD, la información de diagnóstico se mostrará en un panel 3D delante de la cámara.
Algunos filtros de fotogramas se comportan de manera diferente cuando se ejecutan en dispositivos.
protected override bool IsHMD { get; }
IsSeekable
Si es posible localizar el momento actual de reproducción. Una interrupción anormal durante la grabación puede provocar falta de datos de índice, impidiendo establecer el tiempo de reproducción actual.
public bool IsSeekable { get; }
IsSpeedChangeable
Si es posible modificar la velocidad de reproducción.
public bool IsSpeedChangeable { get; }
IsStarted
Si la reproducción ha comenzado.
public bool IsStarted { get; }
Length
Tiempo total de reproducción esperado. Unidad: segundos.
public Optional<double> Length { get; }
Speed
Velocidad de reproducción actual.
public double Speed { get; set; }
Time
Tiempo ya reproducido.
public double Time { get; }
enabled
Reproduce/Pausa el archivo eif durante la ejecución de ARSession. Tras iniciar la sesión, la reproducción comenzará solo si MonoBehaviour.enabled es true.
public bool enabled { get; set; }
Métodos
OnSessionStart(ARSession)
Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso de StartSession().
Maneja el inicio de la sesión si esta fuente de fotogramas se ha ensamblado en la 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 fotogramas. 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 fotogramas se ha ensamblado en la Assembly. Puedes usar este método para destruir recursos creados durante StartSession() y la ejecución de la sesión, y restaurar el estado interno. Se garantiza su llamada antes de destruir la sesión. Si la fuente de fotogramas se destruye antes que la sesión, no se llamará y la sesión se dañará.
protected override void OnSessionStop()
Play()
Reproduce archivo eif. Si no se llama manualmente a Play() ni a Stop(), ARSession iniciará Play() automáticamente tras arrancar.
Solo se puede usar después de iniciar la sesión.
public bool Play()
Seek(double)
Establece el momento actual de reproducción. Unidad: 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()