Table of Contents

Class FramePlayer

Namespace
easyar
Assembly
EasyAR.Sense.dll

Eineeasyar.InputFramePlayerundeasyar.VideoInputFramePlayersteuerndeMonoBehaviourin der Szene, die Funktionserweiterungen in der Unity-Umgebung bietet.

Es wird verwendet, wennFrameSourceaufFramePlayersteht oder im Editor 'Frame Player' imDiagnosticsController-Inspektor unter 'Session Validation Tool' ausgewählt ist.

public class FramePlayer : FrameSource
Vererbung
FramePlayer
Geerbte Mitglieder

Felder

FilePath

Dateipfad. Kann vorPlay()eingestellt werden.

public string FilePath

FilePathType

Pfadtyp. Kann vorPlay()eingestellt werden.

public WritablePathType FilePathType

Eigenschaften

AvailableCenterMode

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble()behandelt.

Alle verfügbaren Zentrumsmodi.

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

Camera

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble()behandelt.

Auf Desktopgeräten oder Mobiltelefonen repräsentiert diese Kamera dasCamera in der virtuellen Welt, das dem Kameragerät in der realen Umgebung entspricht. Ihre Projektionsmatrix und Position entsprechen der echten Kamera und werden von EasyAR gesteuert. Auf Head-Mounted-Displays dient diese Kamera nur zur Anzeige von Diagnosetexten vor den Augen, nicht zum Rendern des Bildes. Die Kamera wird auch nicht von EasyAR gesteuert.

protected override Camera Camera { get; }

CameraCandidate

Alternative zuCamera, nur wirksam wenn Unity XR Origin nicht verwendet wird. Falls nicht gesetzt, wird Camera.main verwendet.

public Camera CameraCandidate { get; set; }

CameraFrameStarted

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird während der gesamten Lebensdauer vonARSessionabgerufen.

Ob die Kameraframe-Eingabe begonnen hat.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird abgerufen, wennCameraFrameStartedtrue ist.

Stellt die Gerätekamera bereit, die die Kameraframedaten liefert. Wenn Kameraframedaten von mehreren Kameras stammen, müssen alle Kameras in der Liste enthalten sein.

Stellen Sie sicher, dass der Wert korrekt ist, wennCameraFrameStartedtrue ist.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble()behandelt.

Stellt Systemanzeigeinformationen bereit. Sie könnenDefaultSystemDisplayoderDefaultHMDDisplayverwenden, um Standardanzeigeinformationen zu erhalten.

protected override IDisplay Display { get; }

IsAvailable

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble()behandelt.

Ob die aktuelle Framequelle verfügbar ist.

Wenn der Wert null ist, wirdCheckAvailability()aufgerufen. Der Wert wird nach Abschluss derCoroutineabgerufen.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble()behandelt.

Bei true aktualisiert die Sitzung das Transform der Kamera und rendert das Kamerabild.

Bei der Erstellung von Head-Mounted-Display-Erweiterungen sollte dies false sein. Sie sollten die 3D-Kamera in der Szene vollständig kontrollieren. Sie sollten das Kamerarendering verarbeiten, insbesondere im VST-Modus.

protected override bool IsCameraUnderControl { get; }

IsCompleted

Ob die Wiedergabe abgeschlossen ist.

public bool IsCompleted { get; }

IsHMD

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble()behandelt.

Ob die aktuelle Framequelle ein Head-Mounted-Display ist. Bei Head-Mounted-Displays werden Diagnoseinformationen auf einer 3D-Tafel vor der Kamera angezeigt.

Einige Framefilter verhalten sich auf dem Gerät unterschiedlich.

protected override bool IsHMD { get; }

IsSeekable

Ob der aktuelle Wiedergabezeitpunkt positionierbar ist. Bei einer abnormalen Unterbrechung des Aufzeichnungsprozesses fehlen möglicherweise Indexdaten, sodass die aktuelle Wiedergabezeit nicht festgelegt werden kann.

public bool IsSeekable { get; }

IsSpeedChangeable

Ob die Wiedergabegeschwindigkeit geändert werden kann.

public bool IsSpeedChangeable { get; }

IsStarted

Ob die Wiedergabe gestartet wurde.

public bool IsStarted { get; }

Length

Erwartete Gesamtwiedergabezeit. Einheit: Sekunden.

public Optional<double> Length { get; }

Speed

Aktuelle Wiedergabegeschwindigkeit.

public double Speed { get; set; }

Time

Bereits wiedergegebene Zeit.

public double Time { get; }

Methoden

OnSessionStart(ARSession)

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendStartSession()behandelt.

Verarbeitet den Sitzungsstart, wenn diese Framequelle inAssemblyeingebaut wurde. Diese Methode ist für verzögerte Initialisierung konzipiert. Hier können AR-spezifische Initialisierungen durchgeführt werden.

protected override void OnSessionStart(ARSession session)

Parameter

session

OnSessionStop()

Nur bei Erstellung einer neuen Framequelle verfügbar. Wird währendStopSession(bool)oder anderen Sitzungsstopp-/Beschädigungsprozessen abgerufen.

Verarbeitet den Sitzungsstopp, wenn diese Framequelle inAssemblyeingebaut wurde. Hier können inStartSession()und während der Sitzung erstellte Ressourcen zerstört und der interne Zustand wiederhergestellt werden. Diese Methode wird garantiert vor der Sitzungszerstörung aufgerufen. Wenn die Framequelle vor der Sitzung zerstört wird, wird sie nicht aufgerufen und die Sitzung wird beschädigt.

protected override void OnSessionStop()

Play()

Spielt eine eif-Datei ab. WennPlay()undStop()nicht manuell aufgerufen werden, wird automatischPlay()gestartet, nachdemARSessiongestartet wurde.

Nutzbar erst nach Sitzungsstart.

public bool Play()

Seek(double)

Legt den aktuellen Wiedergabezeitpunkt fest. Einheit: Sekunden. Gibt false zurück, wenn Indexdaten fehlen.

public bool Seek(double time)

Parameter

time

Stop()

Stoppt die Wiedergabe der eif-Datei.

public void Stop()