Table of Contents

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