Table of Contents

Class FramePlayer

Namespace
easyar
Assembly
EasyAR.Sense.dll

Steuert in der Szeneeasyar.InputFramePlayer undeasyar.VideoInputFramePlayerMonoBehaviour, bietet Funktionserweiterungen in der Unity-Umgebung.

Es wird verwendet, wennFrameSourceFramePlayer ist oder im Editor imDiagnosticsController Inspector unter 'Session Validation Tool' 'Frame Player'DiagnosticsController ausgewählt wurde.

public class FramePlayer : FrameSource
Vererbung
FramePlayer
Geerbte Mitglieder

Felder

FilePath

Dateipfad. Kann vorPlay() festgelegt werden.

public string FilePath

FilePathType

Pfadtyp. Kann vorPlay() festgelegt werden.

public WritablePathType FilePathType

Eigenschaften

AvailableCenterMode

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.

Alle verfügbaren Zentrumsmodi.

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

Camera

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.

Auf Desktop-Geräten oder Mobiltelefonen repräsentiert diese Kamera dasCamera in der virtuellen Welt, das dem realen Kameragerät in der physischen Umgebung entspricht. Ihre Projektionsmatrix und Position entsprechen der echten Kamera und werden von EasyAR gesteuert. Auf einem Head-Mounted-Display dient diese Kamera nur dazu, einige Diagnosetexte vor den Augen anzuzeigen, 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

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird während der gesamten Lebensdauer desARSession abgerufen.

Ob die Kameraframe-Eingabe begonnen hat.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird abgerufen, wennCameraFrameStarted wahr ist.

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

Stellen Sie sicher, dass der Wert korrekt ist, wennCameraFrameStarted wahr ist.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.

Stellt Systemanzeigeinformationen bereit. Sie könnenDefaultSystemDisplay oderDefaultHMDDisplay verwenden, um Standardanzeigeinformationen zu erhalten.

protected override IDisplay Display { get; }

IsAvailable

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.

Ob die aktuelle Frame-Quelle verfügbar ist.

Wenn der Wert null ist, wirdCheckAvailability() aufgerufen und der Wert wird nach Abschluss derCoroutine abgerufen.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.

Wenn der Wert wahr ist, aktualisiert die Sitzung die Transformation der Kamera und rendert das Kamerabild.

Bei der Erstellung einer Head-Mounted-Display-Erweiterung sollte dies falsch sein. Sie sollten die 3D-Kamera in der Szene vollständig kontrollieren. Sie sollten das Kamera-Rendering handhaben, insbesondere im VST-Modus.

protected override bool IsCameraUnderControl { get; }

IsCompleted

Ob die Wiedergabe abgeschlossen ist.

public bool IsCompleted { get; }

IsHMD

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.

Ob die aktuelle Frame-Quelle ein Head-Mounted-Display ist. Wenn es sich um ein Head-Mounted-Display handelt, werden Diagnoseinformationen auf einer 3D-Tafel vor der Kamera angezeigt.

Einige Frame-Filter verhalten sich auf dem Gerät unterschiedlich.

protected override bool IsHMD { get; }

IsSeekable

Ob die aktuelle Wiedergabezeit positioniert werden kann. Bei einem abnormalen Abbruch des Aufzeichnungsvorgangs kann es zu fehlenden Indexdaten kommen, wodurch 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 in Sekunden.

public Optional<double> Length { get; }

Speed

Aktuelle Wiedergabegeschwindigkeit.

public double Speed { get; set; }

Time

Bereits wiedergegebene Zeit.

public double Time { get; }

enabled

Spielt eine EIF-Datei ab/pausiert sie während der Laufzeit vonARSession. Nachdem die Session gestartet wurde, beginnt die Wiedergabe nur, wennMonoBehaviour.enabled true ist.

public bool enabled { get; set; }

Methoden

OnSessionStart(ARSession)

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desStartSession()-Prozesses abgerufen.

Behandelt den Start der Sitzung, wenn diese Frame-Quelle inAssembly eingebunden wurde. Diese Methode ist für die verzögerte Initialisierung vorgesehen. Hier können AR-spezifische Initialisierungsarbeiten durchgeführt werden.

protected override void OnSessionStart(ARSession session)

Parameter

session

OnSessionStop()

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird währendStopSession(bool) oder anderen Sitzungsstopp-/Beschädigungsprozessen abgerufen.

Behandelt das Stoppen der Sitzung, wenn diese Frame-Quelle inAssembly eingebunden wurde. Mit dieser Methode können Ressourcen, die währendStartSession() und des Sitzungsbetriebs erstellt wurden, zerstört und der interne Status wiederhergestellt werden. Diese Methode wird garantiert aufgerufen, bevor die Sitzung zerstört wird. Wenn die Frame-Quelle 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() ausgeführt, nachdemARSession gestartet wurde.

Kann erst verwendet werden, nachdem die Session gestartet wurde.

public bool Play()

Seek(double)

Legt die aktuelle Wiedergabezeit fest. Einheit in 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()