Freigeben über


AudioTrack.SetBufferSizeInFrames(Int32) Methode

Definition

Beschränkt die effektive Größe des AudioTrack Puffers, in den die Anwendung schreibt.

[Android.Runtime.Register("setBufferSizeInFrames", "(I)I", "GetSetBufferSizeInFrames_IHandler", ApiSince=24)]
public virtual int SetBufferSizeInFrames (int bufferSizeInFrames);
[<Android.Runtime.Register("setBufferSizeInFrames", "(I)I", "GetSetBufferSizeInFrames_IHandler", ApiSince=24)>]
abstract member SetBufferSizeInFrames : int -> int
override this.SetBufferSizeInFrames : int -> int

Parameter

bufferSizeInFrames
Int32

angeforderte Puffergröße in Frames

Gibt zurück

die tatsächliche Puffergröße in Frames oder einen Fehlercode, , #ERROR_BAD_VALUE#ERROR_INVALID_OPERATION

Attribute

Hinweise

Beschränkt die effektive Größe des AudioTrack Puffers, in den die Anwendung schreibt.

Ein Schreibvorgang in dieses AudioTrack-Programm füllt den Puffer nicht über diesen Grenzwert hinaus. Wenn ein blockierender Schreibvorgang verwendet wird, wird der Schreibvorgang blockiert, bis die Daten in diesen Grenzwert passen können.

Wenn Sie diesen Grenzwert ändern, wird die dem Puffer zugeordnete Latenz für diesen Titel geändert. Eine kleinere Größe gibt eine geringere Latenz, aber aufgrund von Pufferunterläufen kann es mehr Störungen geben.

Die tatsächliche verwendete Größe ist möglicherweise nicht mit dieser angeforderten Größe identisch. Er ist auf einen gültigen Bereich mit maximaler Länge #getBufferCapacityInFrames()beschränkt. Es kann auch leicht aus internen Gründen angepasst werden. Wenn bufferSizeInFrames kleiner als 0 ist, #ERROR_BAD_VALUE wird der Wert zurückgegeben.

Diese Methode wird für PCM-Audio auf allen API-Ebenen unterstützt. Komprimierte Audiodaten werden in API-Ebenen 33 und höher unterstützt. Bei komprimierten Datenströmen gilt die Größe eines Frames als genau ein Byte.

Java-Dokumentation für android.media.AudioTrack.setBufferSizeInFrames(int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: