AudioTrack.Write Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
Write(ByteBuffer, Int32, WriteMode) |
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). |
Write(Byte[], Int32, Int32) |
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). |
Write(Int16[], Int32, Int32) |
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). |
Write(ByteBuffer, Int32, WriteMode, Int64) |
Écrit les données audio dans le récepteur audio pour la lecture en mode streaming sur une piste HW_AV_SYNC. |
Write(Byte[], Int32, Int32, WriteMode) |
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). |
Write(Int16[], Int32, Int32, WriteMode) |
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). |
Write(Single[], Int32, Int32, WriteMode) |
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). |
Write(ByteBuffer, Int32, WriteMode)
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).
[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
Paramètres
- audioData
- ByteBuffer
mémoire tampon qui contient les données à écrire, en commençant à la position signalée par audioData.position()
.
<Br>Notez qu’à la retour, la position de la mémoire tampon (audioData.position()
) a été avancée pour refléter la quantité de données qui ont été correctement écrites dans audioTrack.
- sizeInBytes
- Int32
nombre d’octets à écrire. Il est recommandé, mais pas appliqué, que le nombre d’octets demandé soit un multiple de la taille d’image (taille de l’échantillon en octets multiplié par le nombre de canaux).
<Notez que cela>peut différer de celui-ci audioData.remaining()
, mais ne peut pas le dépasser.
- writeMode
- WriteMode
un des #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Elle n’a aucun effet en mode statique.
<BR>With #WRITE_BLOCKING
, l’écriture se bloque jusqu’à ce que toutes les données soient écrites dans le récepteur audio.
<BR>With #WRITE_NON_BLOCKING
, l’écriture retourne immédiatement après la mise en file d’attente autant de données audio que possible sans bloquer.
Retours
zéro ou le nombre positif d’octets écrits, ou l’un des codes d’erreur suivants.
<ul><li>#ERROR_INVALID_OPERATION
si la piste n’est pas correctement initialisée</li li<>#ERROR_BAD_VALUE
> si les paramètres ne sont pas résolus en données valides< et index/li li><>#ERROR_DEAD_OBJECT
si audioTrack n’est plus valide et doit être recréé. Le code d’erreur de l’objet mort n’est pas retourné si certaines données ont été correctement transférées. Dans ce cas, l’erreur est retournée à l’écriture suivante()</li li#ERROR
>>< en cas d’autre erreur</li/li></ul>
- Attributs
Remarques
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). L’audioData dans ByteBuffer doit correspondre au format spécifié dans le constructeur AudioTrack.
En mode streaming, le comportement de blocage dépend du mode d’écriture. Si le mode d’écriture est #WRITE_BLOCKING
, l’écriture bloque normalement jusqu’à ce que toutes les données aient été mise en file d’attente pour la lecture et retournent un nombre complet de transferts. Toutefois, si le mode d’écriture est #WRITE_NON_BLOCKING
, ou que la piste est arrêtée ou suspendue lors de l’entrée, ou qu’un autre thread interrompt l’écriture en appelant l’arrêt ou en pause, ou qu’une erreur d’E/S se produit pendant l’écriture, l’écriture peut retourner un nombre de transferts court.
En mode mémoire tampon statique, copie les données dans la mémoire tampon à partir du décalage 0 et le mode d’écriture est ignoré. Notez que la lecture réelle de ces données peut se produire une fois cette fonction retournée.
Documentation Java pour android.media.AudioTrack.write(java.nio.ByteBuffer, int, int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
Write(Byte[], Int32, Int32)
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).
[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
Paramètres
- audioData
- Byte[]
tableau qui contient les données à lire.
- offsetInBytes
- Int32
décalage exprimé en octets dans audioData où les données à écrire démarrent. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- sizeInBytes
- Int32
nombre d’octets à écrire dans audioData après le décalage. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
Retours
zéro ou le nombre positif d’octets écrits, ou l’un des codes d’erreur suivants. Le nombre d’octets est un multiple de la taille d’image en octets pour ne pas dépasser sizeInBytes.
<ul><li>#ERROR_INVALID_OPERATION
si la piste n’est pas correctement initialisée</li li<>#ERROR_BAD_VALUE
> si les paramètres ne sont pas résolus en données valides< et index/li li><>#ERROR_DEAD_OBJECT
si audioTrack n’est plus valide et doit être recréé. Le code d’erreur de l’objet mort n’est pas retourné si certaines données ont été correctement transférées. Dans ce cas, l’erreur est retournée à l’écriture suivante()</li li<#ERROR
>> en cas d’autre erreur</li/li></ul> Ceci équivaut à #write(byte[], int, int, int)
défini writeMode
sur .#WRITE_BLOCKING
- Attributs
Remarques
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). Le format spécifié dans le constructeur AudioTrack doit correspondre AudioFormat#ENCODING_PCM_8BIT
aux données du tableau. Le format peut être AudioFormat#ENCODING_PCM_16BIT
, mais il est déconseillé.
En mode streaming, l’écriture bloque normalement jusqu’à ce que toutes les données ont été mise en file d’attente pour la lecture et retournent un nombre de transferts complet. Toutefois, si la piste est arrêtée ou suspendue lors de l’entrée, ou qu’un autre thread interrompt l’écriture en appelant l’arrêt ou la pause, ou qu’une erreur d’E/S se produit pendant l’écriture, l’écriture peut retourner un nombre de transferts court.
En mode mémoire tampon statique, copie les données dans la mémoire tampon à partir du décalage 0. Notez que la lecture réelle de ces données peut se produire une fois cette fonction retournée.
Documentation Java pour android.media.AudioTrack.write(byte[], int, int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
Write(Int16[], Int32, Int32)
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).
[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
Paramètres
- audioData
- Int16[]
tableau qui contient les données à lire.
- offsetInShorts
- Int32
décalage exprimé en shorts dans audioData où les données à lire démarrent. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- sizeInShorts
- Int32
nombre de shorts à lire dans audioData après le décalage. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
Retours
zéro ou le nombre positif de shorts écrits, ou l’un des codes d’erreur suivants. Le nombre de shorts sera un multiple du nombre de canaux à ne pas dépasser sizeInShorts.
<ul><li>#ERROR_INVALID_OPERATION
si la piste n’est pas correctement initialisée</li li<>#ERROR_BAD_VALUE
> si les paramètres ne sont pas résolus en données valides< et index/li li><>#ERROR_DEAD_OBJECT
si audioTrack n’est plus valide et doit être recréé. Le code d’erreur de l’objet mort n’est pas retourné si certaines données ont été correctement transférées. Dans ce cas, l’erreur est retournée à l’écriture suivante()</li li<#ERROR
>> en cas d’autre erreur</li/li></ul> Ceci équivaut à #write(short[], int, int, int)
défini writeMode
sur .#WRITE_BLOCKING
- Attributs
Remarques
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). Le format spécifié dans le constructeur AudioTrack doit correspondre AudioFormat#ENCODING_PCM_16BIT
aux données du tableau.
En mode streaming, l’écriture bloque normalement jusqu’à ce que toutes les données ont été mise en file d’attente pour la lecture et retournent un nombre de transferts complet. Toutefois, si la piste est arrêtée ou suspendue lors de l’entrée, ou qu’un autre thread interrompt l’écriture en appelant l’arrêt ou la pause, ou qu’une erreur d’E/S se produit pendant l’écriture, l’écriture peut retourner un nombre de transferts court.
En mode mémoire tampon statique, copie les données dans la mémoire tampon à partir du décalage 0. Notez que la lecture réelle de ces données peut se produire une fois cette fonction retournée.
Documentation Java pour android.media.AudioTrack.write(short[], int, int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
Write(ByteBuffer, Int32, WriteMode, Int64)
Écrit les données audio dans le récepteur audio pour la lecture en mode streaming sur une piste 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
Paramètres
- audioData
- ByteBuffer
mémoire tampon qui contient les données à écrire, en commençant à la position signalée par audioData.position()
.
<Br>Notez qu’à la retour, la position de la mémoire tampon (audioData.position()
) a été avancée pour refléter la quantité de données qui ont été correctement écrites dans audioTrack.
- sizeInBytes
- Int32
nombre d’octets à écrire. Il est recommandé, mais pas appliqué, que le nombre d’octets demandé soit un multiple de la taille d’image (taille de l’échantillon en octets multiplié par le nombre de canaux).
<Notez que cela>peut différer de celui-ci audioData.remaining()
, mais ne peut pas le dépasser.
- writeMode
- WriteMode
un des #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
.
<BR>With #WRITE_BLOCKING
, l’écriture se bloque jusqu’à ce que toutes les données soient écrites dans le récepteur audio.
<BR>With #WRITE_NON_BLOCKING
, l’écriture retourne immédiatement après la mise en file d’attente autant de données audio que possible sans bloquer.
- timestamp
- Int64
Horodatage, en nanosecondes, du premier frame audio décodable dans l’audioData fourni.
Retours
zéro ou le nombre positif d’octets écrits, ou l’un des codes d’erreur suivants.
<ul><li>#ERROR_INVALID_OPERATION
si la piste n’est pas correctement initialisée</li li<>#ERROR_BAD_VALUE
> si les paramètres ne sont pas résolus en données valides< et index/li li><>#ERROR_DEAD_OBJECT
si audioTrack n’est plus valide et doit être recréé. Le code d’erreur de l’objet mort n’est pas retourné si certaines données ont été correctement transférées. Dans ce cas, l’erreur est retournée à l’écriture suivante()</li li#ERROR
>>< en cas d’autre erreur</li/li></ul>
- Attributs
Remarques
Écrit les données audio dans le récepteur audio pour la lecture en mode streaming sur une piste HW_AV_SYNC. Le comportement de blocage dépend du mode d’écriture.
Documentation Java pour android.media.AudioTrack.write(java.nio.ByteBuffer, int, int, long)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
Write(Byte[], Int32, Int32, WriteMode)
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).
[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
Paramètres
- audioData
- Byte[]
tableau qui contient les données à lire.
- offsetInBytes
- Int32
décalage exprimé en octets dans audioData où les données à écrire démarrent. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- sizeInBytes
- Int32
nombre d’octets à écrire dans audioData après le décalage. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- writeMode
- WriteMode
un des #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Elle n’a aucun effet en mode statique.
<br>With #WRITE_BLOCKING
, l’écriture se bloque jusqu’à ce que toutes les données soient écrites dans le récepteur audio.
<br>With #WRITE_NON_BLOCKING
, l’écriture retourne immédiatement après la mise en file d’attente autant de données audio que possible pour la lecture sans bloquer.
Retours
zéro ou le nombre positif d’octets écrits, ou l’un des codes d’erreur suivants. Le nombre d’octets est un multiple de la taille d’image en octets pour ne pas dépasser sizeInBytes.
<ul><li>#ERROR_INVALID_OPERATION
si la piste n’est pas correctement initialisée</li li<>#ERROR_BAD_VALUE
> si les paramètres ne sont pas résolus en données valides< et index/li li><>#ERROR_DEAD_OBJECT
si audioTrack n’est plus valide et doit être recréé. Le code d’erreur de l’objet mort n’est pas retourné si certaines données ont été correctement transférées. Dans ce cas, l’erreur est retournée à l’écriture suivante()</li li#ERROR
>>< en cas d’autre erreur</li/li></ul>
- Attributs
Remarques
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). Le format spécifié dans le constructeur AudioTrack doit correspondre AudioFormat#ENCODING_PCM_8BIT
aux données du tableau. Le format peut être AudioFormat#ENCODING_PCM_16BIT
, mais il est déconseillé.
En mode streaming, le comportement de blocage dépend du mode d’écriture. Si le mode d’écriture est #WRITE_BLOCKING
, l’écriture bloque normalement jusqu’à ce que toutes les données aient été mise en file d’attente pour la lecture et retournent un nombre complet de transferts. Toutefois, si le mode d’écriture est #WRITE_NON_BLOCKING
, ou que la piste est arrêtée ou suspendue lors de l’entrée, ou qu’un autre thread interrompt l’écriture en appelant l’arrêt ou en pause, ou qu’une erreur d’E/S se produit pendant l’écriture, l’écriture peut retourner un nombre de transferts court.
En mode mémoire tampon statique, copie les données dans la mémoire tampon à partir du décalage 0 et le mode d’écriture est ignoré. Notez que la lecture réelle de ces données peut se produire une fois cette fonction retournée.
Documentation Java pour android.media.AudioTrack.write(byte[], int, int, int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
Write(Int16[], Int32, Int32, WriteMode)
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).
[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
Paramètres
- audioData
- Int16[]
tableau qui contient les données à écrire.
- offsetInShorts
- Int32
décalage exprimé en shorts dans audioData où les données à écrire démarrent. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- sizeInShorts
- Int32
nombre de shorts à lire dans audioData après le décalage. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- writeMode
- WriteMode
un des #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Elle n’a aucun effet en mode statique.
<br>With #WRITE_BLOCKING
, l’écriture se bloque jusqu’à ce que toutes les données soient écrites dans le récepteur audio.
<br>With #WRITE_NON_BLOCKING
, l’écriture retourne immédiatement après la mise en file d’attente autant de données audio que possible pour la lecture sans bloquer.
Retours
zéro ou le nombre positif de shorts écrits, ou l’un des codes d’erreur suivants. Le nombre de shorts sera un multiple du nombre de canaux à ne pas dépasser sizeInShorts.
<ul><li>#ERROR_INVALID_OPERATION
si la piste n’est pas correctement initialisée</li li<>#ERROR_BAD_VALUE
> si les paramètres ne sont pas résolus en données valides< et index/li li><>#ERROR_DEAD_OBJECT
si audioTrack n’est plus valide et doit être recréé. Le code d’erreur de l’objet mort n’est pas retourné si certaines données ont été correctement transférées. Dans ce cas, l’erreur est retournée à l’écriture suivante()</li li#ERROR
>>< en cas d’autre erreur</li/li></ul>
- Attributs
Remarques
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). Le format spécifié dans le constructeur AudioTrack doit correspondre AudioFormat#ENCODING_PCM_16BIT
aux données du tableau.
En mode streaming, le comportement de blocage dépend du mode d’écriture. Si le mode d’écriture est #WRITE_BLOCKING
, l’écriture bloque normalement jusqu’à ce que toutes les données aient été mise en file d’attente pour la lecture et retournent un nombre complet de transferts. Toutefois, si le mode d’écriture est #WRITE_NON_BLOCKING
, ou que la piste est arrêtée ou suspendue lors de l’entrée, ou qu’un autre thread interrompt l’écriture en appelant l’arrêt ou en pause, ou qu’une erreur d’E/S se produit pendant l’écriture, l’écriture peut retourner un nombre de transferts court.
En mode mémoire tampon statique, copie les données dans la mémoire tampon à partir du décalage 0. Notez que la lecture réelle de ces données peut se produire une fois cette fonction retournée.
Documentation Java pour android.media.AudioTrack.write(short[], int, int, int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
Write(Single[], Int32, Int32, WriteMode)
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).
[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
Paramètres
- audioData
- Single[]
tableau qui contient les données à écrire. L’implémentation ne clippère pas les valeurs d’échantillon dans la plage nominale [-1.0f, 1.0f], à condition que tous les gains du pipeline audio soient inférieurs ou égaux à l’unité (1,0f) et en l’absence d’effets post-traitement qui pourraient ajouter de l’énergie, comme la réverbération. Pour la commodité des applications qui calculent des échantillons à l’aide de filtres avec gain non unity, les valeurs d’exemple +3 dB au-delà de la plage nominale sont autorisées. Toutefois, ces valeurs peuvent éventuellement être limitées ou clippées, en fonction des différents gains et du traitement ultérieur dans le chemin audio. Par conséquent, les applications sont encouragées à fournir des valeurs d’échantillons dans la plage nominale.
- offsetInFloats
- Int32
offset, exprimé sous la forme d’un nombre de floats, dans audioData où les données à écrire démarrent. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- sizeInFloats
- Int32
nombre de floats à écrire dans audioData après le décalage. Ne doit pas être négatif ou provoquer l’accès aux données hors limites du tableau.
- writeMode
- WriteMode
un des #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Elle n’a aucun effet en mode statique.
<br>With #WRITE_BLOCKING
, l’écriture se bloque jusqu’à ce que toutes les données soient écrites dans le récepteur audio.
<br>With #WRITE_NON_BLOCKING
, l’écriture retourne immédiatement après la mise en file d’attente autant de données audio que possible pour la lecture sans bloquer.
Retours
zéro ou le nombre positif de floats qui ont été écrits, ou l’un des codes d’erreur suivants. Le nombre de floats sera un multiple du nombre de canaux à ne pas dépasser sizeInFloats.
<ul><li>#ERROR_INVALID_OPERATION
si la piste n’est pas correctement initialisée</li li<>#ERROR_BAD_VALUE
> si les paramètres ne sont pas résolus en données valides< et index/li li><>#ERROR_DEAD_OBJECT
si audioTrack n’est plus valide et doit être recréé. Le code d’erreur de l’objet mort n’est pas retourné si certaines données ont été correctement transférées. Dans ce cas, l’erreur est retournée à l’écriture suivante()</li li#ERROR
>>< en cas d’autre erreur</li/li></ul>
- Attributs
Remarques
Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique). Le format spécifié dans le constructeur AudioTrack doit correspondre AudioFormat#ENCODING_PCM_FLOAT
aux données du tableau.
En mode streaming, le comportement de blocage dépend du mode d’écriture. Si le mode d’écriture est #WRITE_BLOCKING
, l’écriture bloque normalement jusqu’à ce que toutes les données aient été mise en file d’attente pour la lecture et retournent un nombre complet de transferts. Toutefois, si le mode d’écriture est #WRITE_NON_BLOCKING
, ou que la piste est arrêtée ou suspendue lors de l’entrée, ou qu’un autre thread interrompt l’écriture en appelant l’arrêt ou en pause, ou qu’une erreur d’E/S se produit pendant l’écriture, l’écriture peut retourner un nombre de transferts court.
En mode mémoire tampon statique, copie les données dans la mémoire tampon à partir du décalage 0 et le mode d’écriture est ignoré. Notez que la lecture réelle de ces données peut se produire une fois cette fonction retournée.
Documentation Java pour android.media.AudioTrack.write(float[], int, int, int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.