Table of Contents

Class FramePlayer

Пространство имен
easyar
Сборка
EasyAR.Sense.dll

Управляющий easyar.InputFramePlayer и easyar.VideoInputFramePlayer в сцене MonoBehaviour, предоставляющий расширение функциональности в среде Unity.

Используется, когда FrameSource является FramePlayer или когда в редакторе выбран 'Frame Player' в инспекторе 'Session Validation Tool' DiagnosticsController.

public class FramePlayer : FrameSource
Наследование
FramePlayer
Наследуемые члены

Поля

FilePath

Путь к файлу. Можно установить перед Play().

public string FilePath

FilePathType

Тип пути. Можно установить перед Play().

public WritablePathType FilePathType

Свойства

AvailableCenterMode

Предоставляется только при создании нового источника кадров. Доступно только во время процесса Assemble().

Все доступные режимы центра.

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

Camera

Предоставляется только при создании нового источника кадров. Доступно только во время процесса Assemble().

На настольных устройствах или телефонах эта камера представляет Camera в виртуальном мире, соответствующее реальному камере в физической среде; ее матрица проекции и положение будут соответствовать реальной камере и контролироваться EasyAR. На гарнитурах эта камера используется только для отображения диагностического текста перед глазами, не для рендеринга изображения, и камера не контролируется EasyAR.

protected override Camera Camera { get; }

CameraCandidate

Альтернатива для Camera, действует только если не используется Unity XR Origin. Если не установлено, будет использоваться Camera.main.

public Camera CameraCandidate { get; set; }

CameraFrameStarted

Предоставляется только при создании нового источника кадров. Доступно в течение всего жизненного цикла ARSession.

Начался ли ввод кадров с камеры.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Предоставляется только при создании нового источника кадров. Доступно только когда CameraFrameStarted равно true.

Предоставляет физическую камеру устройства, поставляющую данные кадров камеры. Если данные кадров предоставляются несколькими камерами, список должен включать их все.

Убедитесь, что значение корректно, когда CameraFrameStarted равно true.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Предоставляется только при создании нового источника кадров. Доступно только во время процесса Assemble().

Предоставляет информацию о системе отображения. Вы можете использовать DefaultSystemDisplay или DefaultHMDDisplay для получения информации по умолчанию.

protected override IDisplay Display { get; }

IsAvailable

Предоставляется только при создании нового источника кадров. Доступно только во время процесса Assemble().

Доступен ли текущий источник кадров.

Если значение равно null, будет вызван CheckAvailability(), и значение будет получено после завершения Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Предоставляется только при создании нового источника кадров. Доступно только во время процесса Assemble().

Когда значение равно true, сессия будет обновлять transform камеры и рендерить изображение с камеры.

При создании расширения для гарнитуры оно должно быть false. Вы должны полностью контролировать 3D-камеру в сцене. Вы должны обрабатывать рендеринг камеры, особенно в режиме VST.

protected override bool IsCameraUnderControl { get; }

IsCompleted

Завершено ли воспроизведение.

public bool IsCompleted { get; }

IsHMD

Предоставляется только при создании нового источника кадров. Доступно только во время процесса Assemble().

Является ли текущий источник кадров гарнитурой. Если это гарнитура, диагностическая информация будет отображаться на 3D-панели перед камерой.

Некоторые фильтры кадров могут работать по-разному на устройстве.

protected override bool IsHMD { get; }

IsSeekable

Можно ли определить текущий момент воспроизведения. Прерывание записи может привести к отсутствию индексных данных, что не позволит установить текущее время воспроизведения.

public bool IsSeekable { get; }

IsSpeedChangeable

Можно ли изменять скорость воспроизведения.

public bool IsSpeedChangeable { get; }

IsStarted

Запущено ли воспроизведение.

public bool IsStarted { get; }

Length

Ожидаемая общая длительность воспроизведения. В секундах.

public Optional<double> Length { get; }

Speed

Текущая скорость воспроизведения.

public double Speed { get; set; }

Time

Уже воспроизведенное время.

public double Time { get; }

enabled

Воспроизведение/пауза eif-файла во время работы ARSession. Воспроизведение начнется только после запуска сессии и если MonoBehaviour.enabled равно true.

public bool enabled { get; set; }

Методы

OnSessionStart(ARSession)

Предоставляется только при создании нового источника кадров. Доступно только во время процесса StartSession().

Обрабатывает запуск сессии, если этот источник кадров был собран в Assembly. Этот метод предназначен для отложенной инициализации; здесь можно выполнить специфичную для AR инициализацию.

protected override void OnSessionStart(ARSession session)

Параметры

session

OnSessionStop()

Предоставляется только при создании нового источника кадров. Доступно во время StopSession(bool) или других процессов остановки/повреждения сессии.

Обрабатывает остановку сессии, если этот источник кадров был собран в Assembly. Здесь можно уничтожить ресурсы, созданные в StartSession() и во время работы сессии, и восстановить внутреннее состояние. Этот метод гарантированно вызывается перед уничтожением сессии. Если источник кадров уничтожается до сессии, он не будет вызван, и сессия будет повреждена.

protected override void OnSessionStop()

Play()

Воспроизведение eif-файла. Если Play() и Stop() не вызываются вручную, ARSession автоматически запустит Play() после старта.

Доступно только после запуска сессии.

public bool Play()

Seek(double)

Установить текущее время воспроизведения. В секундах. Возвращает false, если отсутствуют индексные данные.

public bool Seek(double time)

Параметры

time

Stop()

Остановить воспроизведение eif-файла.

public void Stop()