Idioma

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 ajustar a esse limite.

Alterar esse limite modifica a latência associada ao buffer para essa faixa. Um tamanho menor dará menor latência, mas pode haver mais falhas devido a subexecuções 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(). Ele também pode ser ajustado ligeiramente por motivos internos. Se bufferSizeInFrames for menor que zero, então #ERROR_BAD_VALUE será retornado.

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

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

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

Aplica-se a