Table of Contents

Class FramePlayer

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

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

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

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; }

Методы

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