AudioTrack.Write Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
Write(ByteBuffer, Int32, WriteMode) |
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). |
Write(Byte[], Int32, Int32) |
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). |
Write(Int16[], Int32, Int32) |
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). |
Write(ByteBuffer, Int32, WriteMode, Int64) |
Escribe los datos de audio en el receptor de audio para su reproducción en modo de streaming en una pista de HW_AV_SYNC. |
Write(Byte[], Int32, Int32, WriteMode) |
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). |
Write(Int16[], Int32, Int32, WriteMode) |
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). |
Write(Single[], Int32, Int32, WriteMode) |
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). |
Write(ByteBuffer, Int32, WriteMode)
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático).
[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;II)I", "GetWrite_Ljava_nio_ByteBuffer_IIHandler")]
public virtual int Write (Java.Nio.ByteBuffer audioData, int sizeInBytes, Android.Media.WriteMode writeMode);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;II)I", "GetWrite_Ljava_nio_ByteBuffer_IIHandler")>]
abstract member Write : Java.Nio.ByteBuffer * int * Android.Media.WriteMode -> int
override this.Write : Java.Nio.ByteBuffer * int * Android.Media.WriteMode -> int
Parámetros
- audioData
- ByteBuffer
el búfer que contiene los datos que se van a escribir, empezando por la posición notificada por audioData.position()
.
<BR>Tenga en cuenta que, tras la devolución, la posición del búfer (audioData.position()
) se habrá avanzado para reflejar la cantidad de datos que se escribieron correctamente en AudioTrack.
- sizeInBytes
- Int32
número de bytes que se van a escribir. Se recomienda pero no se aplica que el número de bytes solicitado sea un múltiplo del tamaño de fotograma (tamaño de muestra en bytes multiplicado por el recuento de canales).
<BR>Tenga en cuenta que esto puede diferir de audioData.remaining()
, pero no puede superarlo.
- writeMode
- WriteMode
uno de #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. No tiene ningún efecto en el modo estático.
<BR>Con #WRITE_BLOCKING
, la escritura se bloqueará hasta que todos los datos se hayan escrito en el receptor de audio.
<BR>With #WRITE_NON_BLOCKING
, la escritura devolverá inmediatamente después de poner en cola tantos datos de audio para la reproducción como sea posible sin bloquear.
Devoluciones
cero o el número positivo de bytes escritos o uno de los siguientes códigos de error.
<ul><li>#ERROR_INVALID_OPERATION
si la pista no se inicializa< correctamente o li li><#ERROR_BAD_VALUE
> si los parámetros no se resuelven en datos e índices válidos</li li><>#ERROR_DEAD_OBJECT
si AudioTrack ya no es válido y debe volver a crearse. El código de error del objeto fallido no se devuelve si algunos datos se transfirieron correctamente. En este caso, el error se devuelve en la siguiente escritura()</li li><#ERROR
> en caso de otro error</li></li/ul>
- Atributos
Comentarios
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). AudioData en ByteBuffer debe coincidir con el formato especificado en el constructor AudioTrack.
En el modo de streaming, el comportamiento de bloqueo depende del modo de escritura. Si el modo de escritura es #WRITE_BLOCKING
, la escritura normalmente se bloqueará hasta que todos los datos se hayan puesto en cola para la reproducción y devolverán un recuento completo de transferencias. Sin embargo, si el modo de escritura es #WRITE_NON_BLOCKING
, o la pista se detiene o se pausa en la entrada, u otro subproceso interrumpe la escritura llamando a stop o pause, o se produce un error de E/S durante la escritura, la escritura puede devolver un recuento de transferencia breve.
En el modo de búfer estático, copia los datos en el búfer a partir del desplazamiento 0 y se omite el modo de escritura. Tenga en cuenta que la reproducción real de estos datos puede producirse después de que se devuelva esta función.
Documentación de Java para android.media.AudioTrack.write(java.nio.ByteBuffer, int, int)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Se aplica a
Write(Byte[], Int32, Int32)
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático).
[Android.Runtime.Register("write", "([BII)I", "GetWrite_arrayBIIHandler")]
public virtual int Write (byte[] audioData, int offsetInBytes, int sizeInBytes);
[<Android.Runtime.Register("write", "([BII)I", "GetWrite_arrayBIIHandler")>]
abstract member Write : byte[] * int * int -> int
override this.Write : byte[] * int * int -> int
Parámetros
- audioData
- Byte[]
matriz que contiene los datos que se van a reproducir.
- offsetInBytes
- Int32
desplazamiento expresado en bytes en audioData donde comienzan los datos que se van a escribir. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- sizeInBytes
- Int32
el número de bytes que se van a escribir en audioData después del desplazamiento. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
Devoluciones
cero o el número positivo de bytes escritos o uno de los siguientes códigos de error. El número de bytes será un múltiplo del tamaño de fotograma en bytes que no superará sizeInBytes.
<ul><li>#ERROR_INVALID_OPERATION
si la pista no se inicializa< correctamente o li li><#ERROR_BAD_VALUE
> si los parámetros no se resuelven en datos e índices válidos</li li><>#ERROR_DEAD_OBJECT
si AudioTrack ya no es válido y debe volver a crearse. El código de error del objeto fallido no se devuelve si algunos datos se transfirieron correctamente. En este caso, el error se devuelve en la siguiente escritura()</li li><>#ERROR
en caso de otro error</li></ul> Esto equivale a #write(byte[], int, int, int)
con writeMode
establecido #WRITE_BLOCKING
en .
- Atributos
Comentarios
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). El formato especificado en el constructor AudioTrack debe corresponder AudioFormat#ENCODING_PCM_8BIT
a los datos de la matriz. El formato puede ser AudioFormat#ENCODING_PCM_16BIT
, pero está en desuso.
En el modo de streaming, la escritura normalmente se bloqueará hasta que todos los datos se hayan puesto en cola para la reproducción y devolverán un recuento completo de transferencias. Sin embargo, si la pista se detiene o se pausa en la entrada, u otro subproceso interrumpe la escritura llamando a stop o pause, o se produce un error de E/S durante la escritura, la escritura puede devolver un recuento de transferencias breve.
En el modo de búfer estático, copia los datos en el búfer a partir del desplazamiento 0. Tenga en cuenta que la reproducción real de estos datos puede producirse después de que se devuelva esta función.
Documentación de Java para android.media.AudioTrack.write(byte[], int, int)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Se aplica a
Write(Int16[], Int32, Int32)
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático).
[Android.Runtime.Register("write", "([SII)I", "GetWrite_arraySIIHandler")]
public virtual int Write (short[] audioData, int offsetInShorts, int sizeInShorts);
[<Android.Runtime.Register("write", "([SII)I", "GetWrite_arraySIIHandler")>]
abstract member Write : int16[] * int * int -> int
override this.Write : int16[] * int * int -> int
Parámetros
- audioData
- Int16[]
matriz que contiene los datos que se van a reproducir.
- offsetInShorts
- Int32
desplazamiento expresado en shorts en audioData donde se inician los datos que se van a reproducir. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- sizeInShorts
- Int32
número de shorts que se van a leer en audioData después del desplazamiento. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
Devoluciones
cero o el número positivo de shorts escritos, o uno de los siguientes códigos de error. El número de shorts será un múltiplo del recuento de canales que no superará sizeInShorts.
<ul><li>#ERROR_INVALID_OPERATION
si la pista no se inicializa< correctamente o li li><#ERROR_BAD_VALUE
> si los parámetros no se resuelven en datos e índices válidos</li li><>#ERROR_DEAD_OBJECT
si AudioTrack ya no es válido y debe volver a crearse. El código de error del objeto fallido no se devuelve si algunos datos se transfirieron correctamente. En este caso, el error se devuelve en la siguiente escritura()</li li><>#ERROR
en caso de otro error</li></ul> Esto equivale a #write(short[], int, int, int)
con writeMode
establecido #WRITE_BLOCKING
en .
- Atributos
Comentarios
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). El formato especificado en el constructor AudioTrack debe corresponder AudioFormat#ENCODING_PCM_16BIT
a los datos de la matriz.
En el modo de streaming, la escritura normalmente se bloqueará hasta que todos los datos se hayan puesto en cola para la reproducción y devolverán un recuento completo de transferencias. Sin embargo, si la pista se detiene o se pausa en la entrada, u otro subproceso interrumpe la escritura llamando a stop o pause, o se produce un error de E/S durante la escritura, la escritura puede devolver un recuento de transferencias breve.
En el modo de búfer estático, copia los datos en el búfer a partir del desplazamiento 0. Tenga en cuenta que la reproducción real de estos datos puede producirse después de que se devuelva esta función.
Documentación de Java para android.media.AudioTrack.write(short[], int, int)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Se aplica a
Write(ByteBuffer, Int32, WriteMode, Int64)
Escribe los datos de audio en el receptor de audio para su reproducción en modo de streaming en una pista de HW_AV_SYNC.
[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;IIJ)I", "GetWrite_Ljava_nio_ByteBuffer_IIJHandler", ApiSince=23)]
public virtual int Write (Java.Nio.ByteBuffer audioData, int sizeInBytes, Android.Media.WriteMode writeMode, long timestamp);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;IIJ)I", "GetWrite_Ljava_nio_ByteBuffer_IIJHandler", ApiSince=23)>]
abstract member Write : Java.Nio.ByteBuffer * int * Android.Media.WriteMode * int64 -> int
override this.Write : Java.Nio.ByteBuffer * int * Android.Media.WriteMode * int64 -> int
Parámetros
- audioData
- ByteBuffer
el búfer que contiene los datos que se van a escribir, empezando por la posición notificada por audioData.position()
.
<BR>Tenga en cuenta que, tras la devolución, la posición del búfer (audioData.position()
) se habrá avanzado para reflejar la cantidad de datos que se escribieron correctamente en AudioTrack.
- sizeInBytes
- Int32
número de bytes que se van a escribir. Se recomienda pero no se aplica que el número de bytes solicitado sea un múltiplo del tamaño de fotograma (tamaño de muestra en bytes multiplicado por el recuento de canales).
<BR>Tenga en cuenta que esto puede diferir de audioData.remaining()
, pero no puede superarlo.
- writeMode
- WriteMode
uno de #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
.
<BR>Con #WRITE_BLOCKING
, la escritura se bloqueará hasta que todos los datos se hayan escrito en el receptor de audio.
<BR>With #WRITE_NON_BLOCKING
, la escritura devolverá inmediatamente después de poner en cola tantos datos de audio para la reproducción como sea posible sin bloquear.
- timestamp
- Int64
La marca de tiempo, en nanosegundos, del primer fotograma de audio descodable en el audioData proporcionado.
Devoluciones
cero o el número positivo de bytes escritos o uno de los siguientes códigos de error.
<ul><li>#ERROR_INVALID_OPERATION
si la pista no se inicializa< correctamente o li li><#ERROR_BAD_VALUE
> si los parámetros no se resuelven en datos e índices válidos</li li><>#ERROR_DEAD_OBJECT
si AudioTrack ya no es válido y debe volver a crearse. El código de error del objeto fallido no se devuelve si algunos datos se transfirieron correctamente. En este caso, el error se devuelve en la siguiente escritura()</li li><#ERROR
> en caso de otro error</li></li/ul>
- Atributos
Comentarios
Escribe los datos de audio en el receptor de audio para su reproducción en modo de streaming en una pista de HW_AV_SYNC. El comportamiento de bloqueo dependerá del modo de escritura.
Documentación de Java para android.media.AudioTrack.write(java.nio.ByteBuffer, int, int, long)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Se aplica a
Write(Byte[], Int32, Int32, WriteMode)
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático).
[Android.Runtime.Register("write", "([BIII)I", "GetWrite_arrayBIIIHandler", ApiSince=23)]
public virtual int Write (byte[] audioData, int offsetInBytes, int sizeInBytes, Android.Media.WriteMode writeMode);
[<Android.Runtime.Register("write", "([BIII)I", "GetWrite_arrayBIIIHandler", ApiSince=23)>]
abstract member Write : byte[] * int * int * Android.Media.WriteMode -> int
override this.Write : byte[] * int * int * Android.Media.WriteMode -> int
Parámetros
- audioData
- Byte[]
matriz que contiene los datos que se van a reproducir.
- offsetInBytes
- Int32
desplazamiento expresado en bytes en audioData donde comienzan los datos que se van a escribir. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- sizeInBytes
- Int32
el número de bytes que se van a escribir en audioData después del desplazamiento. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- writeMode
- WriteMode
uno de #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. No tiene ningún efecto en el modo estático.
<br>With #WRITE_BLOCKING
, la escritura se bloqueará hasta que todos los datos se hayan escrito en el receptor de audio.
<br>With #WRITE_NON_BLOCKING
, la escritura devolverá inmediatamente después de poner en cola tantos datos de audio para la reproducción como sea posible sin bloquear.
Devoluciones
cero o el número positivo de bytes escritos o uno de los siguientes códigos de error. El número de bytes será un múltiplo del tamaño de fotograma en bytes que no superará sizeInBytes.
<ul><li>#ERROR_INVALID_OPERATION
si la pista no se inicializa< correctamente o li li><#ERROR_BAD_VALUE
> si los parámetros no se resuelven en datos e índices válidos</li li><>#ERROR_DEAD_OBJECT
si AudioTrack ya no es válido y debe volver a crearse. El código de error del objeto fallido no se devuelve si algunos datos se transfirieron correctamente. En este caso, el error se devuelve en la siguiente escritura()</li li><#ERROR
> en caso de otro error</li></li/ul>
- Atributos
Comentarios
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). El formato especificado en el constructor AudioTrack debe corresponder AudioFormat#ENCODING_PCM_8BIT
a los datos de la matriz. El formato puede ser AudioFormat#ENCODING_PCM_16BIT
, pero está en desuso.
En el modo de streaming, el comportamiento de bloqueo depende del modo de escritura. Si el modo de escritura es #WRITE_BLOCKING
, la escritura normalmente se bloqueará hasta que todos los datos se hayan puesto en cola para la reproducción y devolverán un recuento completo de transferencias. Sin embargo, si el modo de escritura es #WRITE_NON_BLOCKING
, o la pista se detiene o se pausa en la entrada, u otro subproceso interrumpe la escritura llamando a stop o pause, o se produce un error de E/S durante la escritura, la escritura puede devolver un recuento de transferencia breve.
En el modo de búfer estático, copia los datos en el búfer a partir del desplazamiento 0 y se omite el modo de escritura. Tenga en cuenta que la reproducción real de estos datos puede producirse después de que se devuelva esta función.
Documentación de Java para android.media.AudioTrack.write(byte[], int, int, int)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Se aplica a
Write(Int16[], Int32, Int32, WriteMode)
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático).
[Android.Runtime.Register("write", "([SIII)I", "GetWrite_arraySIIIHandler", ApiSince=23)]
public virtual int Write (short[] audioData, int offsetInShorts, int sizeInShorts, Android.Media.WriteMode writeMode);
[<Android.Runtime.Register("write", "([SIII)I", "GetWrite_arraySIIIHandler", ApiSince=23)>]
abstract member Write : int16[] * int * int * Android.Media.WriteMode -> int
override this.Write : int16[] * int * int * Android.Media.WriteMode -> int
Parámetros
- audioData
- Int16[]
matriz que contiene los datos que se van a escribir.
- offsetInShorts
- Int32
desplazamiento expresado en shorts en audioData donde comienzan los datos que se van a escribir. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- sizeInShorts
- Int32
número de shorts que se van a leer en audioData después del desplazamiento. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- writeMode
- WriteMode
uno de #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. No tiene ningún efecto en el modo estático.
<br>With #WRITE_BLOCKING
, la escritura se bloqueará hasta que todos los datos se hayan escrito en el receptor de audio.
<br>With #WRITE_NON_BLOCKING
, la escritura devolverá inmediatamente después de poner en cola tantos datos de audio para la reproducción como sea posible sin bloquear.
Devoluciones
cero o el número positivo de shorts escritos, o uno de los siguientes códigos de error. El número de shorts será un múltiplo del recuento de canales que no superará sizeInShorts.
<ul><li>#ERROR_INVALID_OPERATION
si la pista no se inicializa< correctamente o li li><#ERROR_BAD_VALUE
> si los parámetros no se resuelven en datos e índices válidos</li li><>#ERROR_DEAD_OBJECT
si AudioTrack ya no es válido y debe volver a crearse. El código de error del objeto fallido no se devuelve si algunos datos se transfirieron correctamente. En este caso, el error se devuelve en la siguiente escritura()</li li><#ERROR
> en caso de otro error</li></li/ul>
- Atributos
Comentarios
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). El formato especificado en el constructor AudioTrack debe corresponder AudioFormat#ENCODING_PCM_16BIT
a los datos de la matriz.
En el modo de streaming, el comportamiento de bloqueo depende del modo de escritura. Si el modo de escritura es #WRITE_BLOCKING
, la escritura normalmente se bloqueará hasta que todos los datos se hayan puesto en cola para la reproducción y devolverán un recuento completo de transferencias. Sin embargo, si el modo de escritura es #WRITE_NON_BLOCKING
, o la pista se detiene o se pausa en la entrada, u otro subproceso interrumpe la escritura llamando a stop o pause, o se produce un error de E/S durante la escritura, la escritura puede devolver un recuento de transferencia breve.
En el modo de búfer estático, copia los datos en el búfer a partir del desplazamiento 0. Tenga en cuenta que la reproducción real de estos datos puede producirse después de que se devuelva esta función.
Documentación de Java para android.media.AudioTrack.write(short[], int, int, int)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Se aplica a
Write(Single[], Int32, Int32, WriteMode)
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático).
[Android.Runtime.Register("write", "([FIII)I", "GetWrite_arrayFIIIHandler")]
public virtual int Write (float[] audioData, int offsetInFloats, int sizeInFloats, Android.Media.WriteMode writeMode);
[<Android.Runtime.Register("write", "([FIII)I", "GetWrite_arrayFIIIHandler")>]
abstract member Write : single[] * int * int * Android.Media.WriteMode -> int
override this.Write : single[] * int * int * Android.Media.WriteMode -> int
Parámetros
- audioData
- Single[]
matriz que contiene los datos que se van a escribir. La implementación no recorta los valores de muestra dentro del intervalo nominal [-1.0f, 1.0f], siempre que todas las ganancias de la canalización de audio sean menores o iguales que unity (1,0f) y en ausencia de efectos posteriores al procesamiento que podrían agregar energía, como reverberación. Para mayor comodidad de las aplicaciones que calculan muestras mediante filtros con ganancias que no son de unity, se permiten valores de ejemplo +3 dB más allá del intervalo nominal. Sin embargo, estos valores pueden ser limitados o recortados, dependiendo de varias ganancias y procesamiento posterior en la ruta de acceso de audio. Por lo tanto, se recomienda que las aplicaciones proporcionen valores de muestra dentro del intervalo nominal.
- offsetInFloats
- Int32
el desplazamiento, expresado como un número de floats, en audioData donde comienzan los datos que se van a escribir. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- sizeInFloats
- Int32
el número de floats que se van a escribir en audioData después del desplazamiento. No debe ser negativo o hacer que el acceso a los datos salga de los límites de la matriz.
- writeMode
- WriteMode
uno de #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. No tiene ningún efecto en el modo estático.
<br>With #WRITE_BLOCKING
, la escritura se bloqueará hasta que todos los datos se hayan escrito en el receptor de audio.
<br>With #WRITE_NON_BLOCKING
, la escritura devolverá inmediatamente después de poner en cola tantos datos de audio para la reproducción como sea posible sin bloquear.
Devoluciones
cero o el número positivo de floats escritos o uno de los siguientes códigos de error. El número de floats será un múltiplo del recuento de canales que no superará los sizeInFloats.
<ul><li>#ERROR_INVALID_OPERATION
si la pista no se inicializa< correctamente o li li><#ERROR_BAD_VALUE
> si los parámetros no se resuelven en datos e índices válidos</li li><>#ERROR_DEAD_OBJECT
si AudioTrack ya no es válido y debe volver a crearse. El código de error del objeto fallido no se devuelve si algunos datos se transfirieron correctamente. En este caso, el error se devuelve en la siguiente escritura()</li li><#ERROR
> en caso de otro error</li></li/ul>
- Atributos
Comentarios
Escribe los datos de audio en el receptor de audio para la reproducción (modo de streaming) o copia los datos de audio para la reproducción posterior (modo de búfer estático). El formato especificado en el constructor AudioTrack debe corresponder AudioFormat#ENCODING_PCM_FLOAT
a los datos de la matriz.
En el modo de streaming, el comportamiento de bloqueo depende del modo de escritura. Si el modo de escritura es #WRITE_BLOCKING
, la escritura normalmente se bloqueará hasta que todos los datos se hayan puesto en cola para la reproducción y devolverán un recuento completo de transferencias. Sin embargo, si el modo de escritura es #WRITE_NON_BLOCKING
, o la pista se detiene o se pausa en la entrada, u otro subproceso interrumpe la escritura llamando a stop o pause, o se produce un error de E/S durante la escritura, la escritura puede devolver un recuento de transferencia breve.
En el modo de búfer estático, copia los datos en el búfer a partir del desplazamiento 0 y se omite el modo de escritura. Tenga en cuenta que la reproducción real de estos datos puede producirse después de que se devuelva esta función.
Documentación de Java para android.media.AudioTrack.write(float[], int, int, int)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.