Compartilhar via


AudioTrack.SetBufferSizeInFrames(Int32) Método

Definição

Limita o tamanho efetivo do AudioTrack buffer no qual o aplicativo grava.

[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

Parâmetros

bufferSizeInFrames
Int32

Tamanho do buffer solicitado em quadros

Retornos

o tamanho real do buffer em quadros ou um código de erro, #ERROR_BAD_VALUE, #ERROR_INVALID_OPERATION

Atributos

Comentários

Limita o tamanho efetivo do AudioTrack buffer no qual o aplicativo grava.

Uma gravação neste AudioTrack não preencherá o buffer além desse limite. Se uma gravação de bloqueio for usada, a gravação será bloqueada até que os dados possam se encaixar dentro desse limite.

A alteração desse limite modifica a latência associada ao buffer dessa faixa. Um tamanho menor dará menor latência, mas pode haver mais falhas devido a underruns de buffer.

O tamanho real usado pode não ser igual a esse tamanho solicitado. Ele será limitado a um intervalo válido com um máximo de #getBufferCapacityInFrames(). Também pode ser ligeiramente ajustado por razões internas. Se bufferSizeInFrames for menor que zero, será #ERROR_BAD_VALUE retornado.

Esse método é suportado para áudio PCM em todos os níveis de API. O áudio compactado é suportado nos níveis de API 33 e superiores. Para fluxos compactados, o tamanho de um quadro é considerado exatamente um byte.

Documentação Java para android.media.AudioTrack.setBufferSizeInFrames(int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a