Sprache

AudioTrack.FlushWrittenFramesFromPosition(Int64, Int32) Methode

Definition

Alle Daten aus der angegebenen Position leeren.

[Android.Runtime.Register("flushWrittenFramesFromPosition", "(JI)J", "GetFlushWrittenFramesFromPosition_JIHandler", ApiSince=37)]
public virtual long FlushWrittenFramesFromPosition(long positionInFrames, int accuracy);
[<Android.Runtime.Register("flushWrittenFramesFromPosition", "(JI)J", "GetFlushWrittenFramesFromPosition_JIHandler", ApiSince=37)>]
abstract member FlushWrittenFramesFromPosition : int64 * int -> int64
override this.FlushWrittenFramesFromPosition : int64 * int -> int64

Parameter

positionInFrames
Int64

der Startpunkt in Frames, die geleert werden sollen. Der Wert muss zwischen 0 und insgesamt geschriebenen Frames stehen.

accuracy
Int32

die Genauigkeitsanforderung beim Leeren. Verwenden Sie diese Methode #FLUSH_FROM_ACCURACY_BEST_EFFORT , um das Leerzeichen so nah wie möglich an der angeforderten Position anzugeben. Wird #FLUSH_FROM_ACCURACY_EXACT verwendet, um anzugeben, dass das Leerzeichen von der angeforderten Position entfernt werden muss.

Gibt zurück

die tatsächliche gespülte Position.

Attribute

Hinweise

Alle Daten aus der angegebenen Position leeren.

Wenn dieser Vorgang erfolgreich zurückgegeben wird, wird write(byte, int, int) nach einem Aufruf dieser Methode von der Frameposition geschrieben, die von dieser Methode zurückgegeben wird. Die Methode getWrittenFramesCount() kann verwendet werden, um die aktuelle Frameposition zu finden.

Diese Methode ist nur im Offloadmodus zulässig (d. h. Mit Builder.setOffloadedPlayback(boolean) erstellte Titel auf "true") festgelegt). Anwendungen können diese Funktion aufrufen, um Daten zu leeren, während sie aktiv wiedergegeben werden.

Die Unterstützung dieser Methode basiert auf den Funktionen des Geräts. Rufen Sie getFlushWrittenFramesFromPositionSupport(AudioFormat,AudioAttributes) auf, um abzufragen, wie diese Methode mit dem AudioFormat und AudioAttributes unterstützt wird, bevor Sie AudioTrack erstellen. Wenn getFlushWrittenFramesFromPositionSupport(AudioFormat, AudioAttributes) 0 zurückgibt, wird "UnsupportedOperationException" ausgelöst.

Wenn Clients das Leeren von einer bestimmten Position anfordern, gibt das Audiosystem die tatsächliche geleerte Position basierend auf der angeforderten Position, der angeforderten Flush-Genauigkeit und wie viel es verwerfen konnte. Alle Daten aus der tatsächlich geleerten Position werden verworfen. Wenn der Datenstrom geleert wird, wird das Datenstromende (wenn durch setOffloadEndOfStream()) festgelegt, zurückgesetzt.

Der Client darf keine Daten schreiben, bevor diese Funktion zurückgegeben wird. Andernfalls sind die Daten möglicherweise beschädigt. Wenn die Methode erfolgreich zurückgegeben wird und der Datenstrom aktiv ist, muss der Client Sofortdaten schreiben, wenn nur wenige Audiodaten verbleiben, andernfalls kann die Wiedergabe unterlaufen.

Android-Referenz für android.media.AudioTrack.flushWrittenFramesFromPosition.

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: