Class FramePlayer
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Um easyar.InputFramePlayer que controla easyar.InputFramePlayer e easyar.VideoInputFramePlayer na cena, estendendo funcionalidades no ambiente Unity.
Será usado quando FrameSource for FramePlayer ou quando 'Frame Player' estiver selecionado no inspector do DiagnosticsController no editor.
public class FramePlayer : FrameSource
- Herança
-
FramePlayer
- Membros herdados
Campos
FilePath
Caminho do arquivo. Pode ser definido antes de Play().
public string FilePath
FilePathType
Tipo de caminho. Pode ser definido antes de Play().
public WritablePathType FilePathType
Propriedades
AvailableCenterMode
Fornecido apenas na criação de uma nova fonte de quadros. Acessado apenas durante Assemble().
Todos os modos de centro disponíveis.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Fornecido apenas na criação de uma nova fonte de quadros. Acessado apenas durante Assemble().
Em dispositivos desktop ou móveis, esta câmera representa o Camera correspondente no mundo virtual ao dispositivo de câmera no ambiente real. Sua matriz de projeção e posição corresponderão à câmera real, controlada pelo EasyAR. Em HMDs, esta câmera é usada apenas para exibir texto de diagnóstico diante dos olhos, não para renderização da cena, e não é controlada pelo EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa para Camera, válida apenas se a Unity XR Origin não estiver em uso. Se não definida, Camera.main será usada.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Fornecido apenas na criação de uma nova fonte de quadros. Acessado durante todo o ciclo de vida do ARSession.
Se a entrada de quadros da câmera foi iniciada.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Fornecido apenas na criação de uma nova fonte de quadros. Acessado quando CameraFrameStarted for true.
Fornece a(s) câmera(s) do dispositivo que fornece(m) os dados do quadro da câmera. Se os dados do quadro forem fornecidos por múltiplas câmeras, a lista deve conter todas elas.
Garanta que o valor esteja correto quando CameraFrameStarted for true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornecido apenas na criação de uma nova fonte de quadros. Acessado apenas durante Assemble().
Fornece informações do sistema de exibição. Você pode usar DefaultSystemDisplay ou DefaultHMDDisplay para obter as informações de exibição padrão.
protected override IDisplay Display { get; }
IsAvailable
Fornecido apenas na criação de uma nova fonte de quadros. Acessado apenas durante Assemble().
Se a fonte de quadros atual está disponível.
Se o valor for null, CheckAvailability() será chamado e o valor será obtido após o término da Coroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornecido apenas na criação de uma nova fonte de quadros. Acessado apenas durante Assemble().
Quando true, a sessão atualizará o transform da câmera e renderizará a imagem da câmera.
Ao criar uma extensão para HMD, deve ser false. Você deve ter controle total sobre a câmera 3D na cena. Você deve lidar com a renderização da câmera, especialmente no modo VST.
protected override bool IsCameraUnderControl { get; }
IsCompleted
Se a reprodução foi concluída.
public bool IsCompleted { get; }
IsHMD
Fornecido apenas na criação de uma nova fonte de quadros. Acessado apenas durante Assemble().
Se a fonte de quadros atual é um HMD. Se for um HMD, informações de diagnóstico serão exibidas em um painel 3D à frente da câmera.
Alguns filtros de quadro podem funcionar de forma diferente no dispositivo.
protected override bool IsHMD { get; }
IsSeekable
Se o momento atual de reprodução pode ser localizado. Uma interrupção anormal durante a gravação pode resultar na falta de dados de índice, impossibilitando a definição do tempo atual de reprodução.
public bool IsSeekable { get; }
IsSpeedChangeable
Se a velocidade de reprodução pode ser modificada.
public bool IsSpeedChangeable { get; }
IsStarted
Se a reprodução foi iniciada.
public bool IsStarted { get; }
Length
Tempo total de reprodução esperado. Em segundos.
public Optional<double> Length { get; }
Speed
Velocidade de reprodução atual.
public double Speed { get; set; }
Time
Tempo já reproduzido.
public double Time { get; }
Métodos
OnSessionStart(ARSession)
Fornecido apenas na criação de uma nova fonte de quadros. Acessado apenas durante StartSession().
Lida com a inicialização da sessão, se esta fonte de quadros foi montada no Assembly. Este método é projetado para inicialização tardia; você pode realizar trabalhos de inicialização específicos de AR aqui.
protected override void OnSessionStart(ARSession session)
Parâmetros
session
OnSessionStop()
Fornecido apenas na criação de uma nova fonte de quadros. Acessado durante StopSession(bool) ou outros processos de parada/corrupção da sessão.
Lida com a parada da sessão, se esta fonte de quadros foi montada no Assembly. Você pode usar este método para destruir recursos criados durante StartSession() e na execução da sessão, e restaurar o estado interno. Este método é garantido de ser chamado antes da destruição da sessão. Se a fonte de quadros for destruída antes da sessão, este método não será chamado e a sessão será corrompida.
protected override void OnSessionStop()
Play()
Reproduz um arquivo .eif. Se Play() e Stop() não forem chamados manualmente, Play() será chamado automaticamente após o início do ARSession.
Só pode ser usado após o início da sessão.
public bool Play()
Seek(double)
Define o momento atual de reprodução. Em segundos. Retorna false se faltarem dados de índice.
public bool Seek(double time)
Parâmetros
time
Stop()
Interrompe a reprodução do arquivo .eif.
public void Stop()