Sprache

AudioTrack.GetTimestamp(AudioTimestamp) Methode

Definition

Abrufen eines Zeitstempels bei Bedarf.

[Android.Runtime.Register("getTimestamp", "(Landroid/media/AudioTimestamp;)Z", "GetGetTimestamp_Landroid_media_AudioTimestamp_Handler")]
public virtual bool GetTimestamp(Android.Media.AudioTimestamp? timestamp);
[<Android.Runtime.Register("getTimestamp", "(Landroid/media/AudioTimestamp;)Z", "GetGetTimestamp_Landroid_media_AudioTimestamp_Handler")>]
abstract member GetTimestamp : Android.Media.AudioTimestamp -> bool
override this.GetTimestamp : Android.Media.AudioTimestamp -> bool

Parameter

timestamp
AudioTimestamp

ein Verweis auf eine Nicht-Null-AudioTimestamp-Instanz, die dem Aufrufer zugewiesen und im Besitz ist.

Gibt zurück

true, wenn ein Zeitstempel verfügbar ist, oder false, wenn kein Zeitstempel verfügbar ist. Wenn ein Zeitstempel verfügbar ist, wird die AudioTimestamp-Instanz mit einer Position in Frameeinheiten gefüllt, zusammen mit der geschätzten Zeit, zu der dieser Frame präsentiert oder angezeigt werden soll. Falls kein Zeitstempel verfügbar ist, bleibt jede angegebene Instanz unverändert. Ein Zeitstempel ist möglicherweise vorübergehend nicht verfügbar, während die Audiouhr stabil wird, oder während und unmittelbar nach einer Routenänderung. Ein Zeitstempel ist für eine bestimmte Route dauerhaft nicht verfügbar, wenn die Route Zeitstempel nicht unterstützt. In diesem Fall kann die ungefähre Frameposition mithilfe von #getPlaybackHeadPosition. Es kann jedoch sinnvoll sein, gelegentlich nach Zeitstempeln abzufragen, um nach einer Routenänderung wiederherzustellen.

Attribute

Hinweise

Abrufen eines Zeitstempels bei Bedarf.

Wenn Sie zeitstempel während des anfänglichen Warmups oder nach einer Änderung des Routings oder Modus nachverfolgen müssen, sollten Sie regelmäßig einen neuen Zeitstempel anfordern, bis die gemeldeten Zeitstempel zeigen, dass die Frameposition voranschreitet, oder bis klar wird, dass Zeitstempel für diese Route nicht verfügbar sind.

Nachdem die Uhr mit einer stabilen Rate voranschreitet, fragen Sie ungefähr einmal alle 10 Sekunden bis einmal pro Minute nach einem neuen Zeitstempel ab. Das Aufrufen dieser Methode ist häufiger ineffizient. Es ist auch kontraproduktiv, diese Methode häufiger als empfohlen aufzurufen, da die kurzfristigen Unterschiede zwischen aufeinander folgenden Zeitstempelberichten nicht sinnvoll sind. Wenn Sie eine hochauflösende Zuordnung zwischen Frameposition und Präsentationszeit benötigen, sollten Sie dies auf Anwendungsebene basierend auf Zeitstempeln mit niedriger Auflösung implementieren.

Die Audiodaten an der zurückgegebenen Position wurden entweder bereits präsentiert oder wurden noch nicht präsentiert, sind jedoch verpflichtet, präsentiert zu werden. Es ist nicht möglich, die Zeit, die einer bestimmten Position entspricht, anzufordern oder die (Bruch)Position, die einer bestimmten Zeit entspricht, anzufordern. Wenn Sie solche Features benötigen, sollten Sie sie auf Anwendungsebene implementieren.

Java Dokumentation für android.media.AudioTrack.getTimestamp(android.media.AudioTimestamp).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: