AudioTrack.Write Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
Write(ByteBuffer, Int32, WriteMode) |
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). |
Write(Byte[], Int32, Int32) |
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). |
Write(Int16[], Int32, Int32) |
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). |
Write(ByteBuffer, Int32, WriteMode, Int64) |
Scrive i dati audio nel sink audio per la riproduzione in modalità di streaming su una traccia HW_AV_SYNC. |
Write(Byte[], Int32, Int32, WriteMode) |
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). |
Write(Int16[], Int32, Int32, WriteMode) |
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). |
Write(Single[], Int32, Int32, WriteMode) |
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). |
Write(ByteBuffer, Int32, WriteMode)
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico).
[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
Parametri
- audioData
- ByteBuffer
buffer che contiene i dati da scrivere, a partire dalla posizione segnalata da audioData.position()
.
<BR>Si noti che al momento della restituzione, la posizione del buffer (audioData.position()
) sarà stata avanzata per riflettere la quantità di dati scritti correttamente in AudioTrack.
- sizeInBytes
- Int32
numero di byte da scrivere. È consigliabile ma non imporre che il numero di byte richiesti sia un multiplo delle dimensioni del fotogramma (dimensioni del campione in byte moltiplicate per il numero di canali).
<BR>Nota che questo può essere diverso da audioData.remaining()
, ma non può superarlo.
- writeMode
- WriteMode
uno di #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Non ha alcun effetto in modalità statica.
<BR>Con #WRITE_BLOCKING
, la scrittura bloccherà fino a quando tutti i dati non sono stati scritti nel sink audio.
<BR>Con #WRITE_NON_BLOCKING
, la scrittura restituirà immediatamente dopo l'accodamento il maggior numero possibile di dati audio per la riproduzione senza bloccare.
Restituisce
zero o il numero positivo di byte scritti o uno dei codici di errore seguenti.
<ul><li>#ERROR_INVALID_OPERATION
se la traccia non è inizializzata</li<>#ERROR_BAD_VALUE
> correttamente se i parametri non vengono risolti in dati e indici</li><>#ERROR_DEAD_OBJECT
validi se AudioTrack non è più valido e deve essere ricreato. Il codice di errore dell'oggetto non recapitato non viene restituito se alcuni dati sono stati trasferiti correttamente. In questo caso, l'errore viene restituito al successivo write()</li li>>#ERROR
< in caso di altro errore</li></ul>
- Attributi
Commenti
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). L'audioData in ByteBuffer deve corrispondere al formato specificato nel costruttore AudioTrack.
In modalità di streaming, il comportamento di blocco dipende dalla modalità di scrittura. Se la modalità di scrittura è #WRITE_BLOCKING
, la scrittura normalmente si blocca fino a quando tutti i dati non vengono accodati per la riproduzione e restituirà un conteggio di trasferimento completo. Tuttavia, se la modalità di scrittura è #WRITE_NON_BLOCKING
o la traccia viene arrestata o sospesa all'ingresso oppure un altro thread interrompe la scrittura chiamando stop o pause oppure si verifica un errore di I/O durante la scrittura, la scrittura può restituire un breve conteggio di trasferimento.
In modalità buffer statico, copia i dati nel buffer a partire dall'offset 0 e la modalità di scrittura viene ignorata. Si noti che la riproduzione effettiva di questi dati può verificarsi dopo la restituzione di questa funzione.
Documentazione java per android.media.AudioTrack.write(java.nio.ByteBuffer, int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Write(Byte[], Int32, Int32)
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico).
[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
Parametri
- audioData
- Byte[]
matrice che contiene i dati da riprodurre.
- offsetInBytes
- Int32
offset espresso in byte in audioData in cui iniziano i dati da scrivere. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- sizeInBytes
- Int32
numero di byte da scrivere in audioData dopo l'offset. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
Restituisce
zero o il numero positivo di byte scritti o uno dei codici di errore seguenti. Il numero di byte sarà un multiplo delle dimensioni del frame in byte che non supereranno sizeInBytes.
<ul><li>#ERROR_INVALID_OPERATION
se la traccia non è inizializzata</li<>#ERROR_BAD_VALUE
> correttamente se i parametri non vengono risolti in dati e indici</li><>#ERROR_DEAD_OBJECT
validi se AudioTrack non è più valido e deve essere ricreato. Il codice di errore dell'oggetto non recapitato non viene restituito se alcuni dati sono stati trasferiti correttamente. In questo caso, l'errore viene restituito al successivo write()</li li>#ERROR
<> in caso di altro errore</li></ul> Questo equivale a #write(byte[], int, int, int)
con writeMode
impostato su .#WRITE_BLOCKING
- Attributi
Commenti
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). Il formato specificato nel costruttore AudioTrack deve corrispondere AudioFormat#ENCODING_PCM_8BIT
ai dati nella matrice. Il formato può essere AudioFormat#ENCODING_PCM_16BIT
, ma questo è deprecato.
In modalità di streaming, la scrittura normalmente si blocca fino a quando tutti i dati non vengono accodati per la riproduzione e restituirà un conteggio di trasferimento completo. Tuttavia, se la traccia viene arrestata o sospesa all'ingresso o un altro thread interrompe la scrittura chiamando stop o pause oppure si verifica un errore di I/O durante la scrittura, la scrittura può restituire un breve conteggio dei trasferimenti.
In modalità buffer statico, copia i dati nel buffer a partire dall'offset 0. Si noti che la riproduzione effettiva di questi dati può verificarsi dopo la restituzione di questa funzione.
Documentazione java per android.media.AudioTrack.write(byte[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Write(Int16[], Int32, Int32)
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico).
[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
Parametri
- audioData
- Int16[]
matrice che contiene i dati da riprodurre.
- offsetInShorts
- Int32
offset espresso in shorts in audioData in cui iniziano i dati da riprodurre. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- sizeInShorts
- Int32
numero di short da leggere in audioData dopo l'offset. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
Restituisce
zero o il numero positivo di short scritti o uno dei codici di errore seguenti. Il numero di short sarà un multiplo del numero di canali per non superare sizeInShorts.
<ul><li>#ERROR_INVALID_OPERATION
se la traccia non è inizializzata</li<>#ERROR_BAD_VALUE
> correttamente se i parametri non vengono risolti in dati e indici</li><>#ERROR_DEAD_OBJECT
validi se AudioTrack non è più valido e deve essere ricreato. Il codice di errore dell'oggetto non recapitato non viene restituito se alcuni dati sono stati trasferiti correttamente. In questo caso, l'errore viene restituito al successivo write()</li li>#ERROR
<> in caso di altro errore</li></ul> Questo equivale a #write(short[], int, int, int)
con writeMode
impostato su .#WRITE_BLOCKING
- Attributi
Commenti
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). Il formato specificato nel costruttore AudioTrack deve corrispondere AudioFormat#ENCODING_PCM_16BIT
ai dati nella matrice.
In modalità di streaming, la scrittura normalmente si blocca fino a quando tutti i dati non vengono accodati per la riproduzione e restituirà un conteggio di trasferimento completo. Tuttavia, se la traccia viene arrestata o sospesa all'ingresso o un altro thread interrompe la scrittura chiamando stop o pause oppure si verifica un errore di I/O durante la scrittura, la scrittura può restituire un breve conteggio dei trasferimenti.
In modalità buffer statico, copia i dati nel buffer a partire dall'offset 0. Si noti che la riproduzione effettiva di questi dati può verificarsi dopo la restituzione di questa funzione.
Documentazione java per android.media.AudioTrack.write(short[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Write(ByteBuffer, Int32, WriteMode, Int64)
Scrive i dati audio nel sink audio per la riproduzione in modalità di streaming su una traccia 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
Parametri
- audioData
- ByteBuffer
buffer che contiene i dati da scrivere, a partire dalla posizione segnalata da audioData.position()
.
<BR>Si noti che al momento della restituzione, la posizione del buffer (audioData.position()
) sarà stata avanzata per riflettere la quantità di dati scritti correttamente in AudioTrack.
- sizeInBytes
- Int32
numero di byte da scrivere. È consigliabile ma non imporre che il numero di byte richiesti sia un multiplo delle dimensioni del fotogramma (dimensioni del campione in byte moltiplicate per il numero di canali).
<BR>Nota che questo può essere diverso da audioData.remaining()
, ma non può superarlo.
- writeMode
- WriteMode
uno di #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
.
<BR>Con #WRITE_BLOCKING
, la scrittura bloccherà fino a quando tutti i dati non sono stati scritti nel sink audio.
<BR>Con #WRITE_NON_BLOCKING
, la scrittura restituirà immediatamente dopo l'accodamento il maggior numero possibile di dati audio per la riproduzione senza bloccare.
- timestamp
- Int64
Timestamp, in nanosecondi, del primo fotogramma audio decodificabile nell'oggetto audioData fornito.
Restituisce
zero o il numero positivo di byte scritti o uno dei codici di errore seguenti.
<ul><li>#ERROR_INVALID_OPERATION
se la traccia non è inizializzata</li<>#ERROR_BAD_VALUE
> correttamente se i parametri non vengono risolti in dati e indici</li><>#ERROR_DEAD_OBJECT
validi se AudioTrack non è più valido e deve essere ricreato. Il codice di errore dell'oggetto non recapitato non viene restituito se alcuni dati sono stati trasferiti correttamente. In questo caso, l'errore viene restituito al successivo write()</li li>>#ERROR
< in caso di altro errore</li></ul>
- Attributi
Commenti
Scrive i dati audio nel sink audio per la riproduzione in modalità di streaming su una traccia HW_AV_SYNC. Il comportamento di blocco dipende dalla modalità di scrittura.
Documentazione java per android.media.AudioTrack.write(java.nio.ByteBuffer, int, int, long)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Write(Byte[], Int32, Int32, WriteMode)
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico).
[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
Parametri
- audioData
- Byte[]
matrice che contiene i dati da riprodurre.
- offsetInBytes
- Int32
offset espresso in byte in audioData in cui iniziano i dati da scrivere. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- sizeInBytes
- Int32
numero di byte da scrivere in audioData dopo l'offset. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- writeMode
- WriteMode
uno di #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Non ha alcun effetto in modalità statica.
<br>Con #WRITE_BLOCKING
, la scrittura bloccherà fino a quando tutti i dati non sono stati scritti nel sink audio.
<br>Con #WRITE_NON_BLOCKING
, la scrittura restituirà immediatamente dopo l'accodamento il maggior numero possibile di dati audio per la riproduzione senza bloccare.
Restituisce
zero o il numero positivo di byte scritti o uno dei codici di errore seguenti. Il numero di byte sarà un multiplo delle dimensioni del frame in byte che non supereranno sizeInBytes.
<ul><li>#ERROR_INVALID_OPERATION
se la traccia non è inizializzata</li<>#ERROR_BAD_VALUE
> correttamente se i parametri non vengono risolti in dati e indici</li><>#ERROR_DEAD_OBJECT
validi se AudioTrack non è più valido e deve essere ricreato. Il codice di errore dell'oggetto non recapitato non viene restituito se alcuni dati sono stati trasferiti correttamente. In questo caso, l'errore viene restituito al successivo write()</li li>>#ERROR
< in caso di altro errore</li></ul>
- Attributi
Commenti
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). Il formato specificato nel costruttore AudioTrack deve corrispondere AudioFormat#ENCODING_PCM_8BIT
ai dati nella matrice. Il formato può essere AudioFormat#ENCODING_PCM_16BIT
, ma questo è deprecato.
In modalità di streaming, il comportamento di blocco dipende dalla modalità di scrittura. Se la modalità di scrittura è #WRITE_BLOCKING
, la scrittura normalmente si blocca fino a quando tutti i dati non vengono accodati per la riproduzione e restituirà un conteggio di trasferimento completo. Tuttavia, se la modalità di scrittura è #WRITE_NON_BLOCKING
o la traccia viene arrestata o sospesa all'ingresso oppure un altro thread interrompe la scrittura chiamando stop o pause oppure si verifica un errore di I/O durante la scrittura, la scrittura può restituire un breve conteggio di trasferimento.
In modalità buffer statico, copia i dati nel buffer a partire dall'offset 0 e la modalità di scrittura viene ignorata. Si noti che la riproduzione effettiva di questi dati può verificarsi dopo la restituzione di questa funzione.
Documentazione java per android.media.AudioTrack.write(byte[], int, int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Write(Int16[], Int32, Int32, WriteMode)
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico).
[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
Parametri
- audioData
- Int16[]
matrice che contiene i dati da scrivere.
- offsetInShorts
- Int32
offset espresso in shorts in audioData in cui iniziano i dati da scrivere. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- sizeInShorts
- Int32
numero di short da leggere in audioData dopo l'offset. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- writeMode
- WriteMode
uno di #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Non ha alcun effetto in modalità statica.
<br>Con #WRITE_BLOCKING
, la scrittura bloccherà fino a quando tutti i dati non sono stati scritti nel sink audio.
<br>Con #WRITE_NON_BLOCKING
, la scrittura restituirà immediatamente dopo l'accodamento il maggior numero possibile di dati audio per la riproduzione senza bloccare.
Restituisce
zero o il numero positivo di short scritti o uno dei codici di errore seguenti. Il numero di short sarà un multiplo del numero di canali per non superare sizeInShorts.
<ul><li>#ERROR_INVALID_OPERATION
se la traccia non è inizializzata</li<>#ERROR_BAD_VALUE
> correttamente se i parametri non vengono risolti in dati e indici</li><>#ERROR_DEAD_OBJECT
validi se AudioTrack non è più valido e deve essere ricreato. Il codice di errore dell'oggetto non recapitato non viene restituito se alcuni dati sono stati trasferiti correttamente. In questo caso, l'errore viene restituito al successivo write()</li li>>#ERROR
< in caso di altro errore</li></ul>
- Attributi
Commenti
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). Il formato specificato nel costruttore AudioTrack deve corrispondere AudioFormat#ENCODING_PCM_16BIT
ai dati nella matrice.
In modalità di streaming, il comportamento di blocco dipende dalla modalità di scrittura. Se la modalità di scrittura è #WRITE_BLOCKING
, la scrittura normalmente si blocca fino a quando tutti i dati non vengono accodati per la riproduzione e restituirà un conteggio di trasferimento completo. Tuttavia, se la modalità di scrittura è #WRITE_NON_BLOCKING
o la traccia viene arrestata o sospesa all'ingresso oppure un altro thread interrompe la scrittura chiamando stop o pause oppure si verifica un errore di I/O durante la scrittura, la scrittura può restituire un breve conteggio di trasferimento.
In modalità buffer statico, copia i dati nel buffer a partire dall'offset 0. Si noti che la riproduzione effettiva di questi dati può verificarsi dopo la restituzione di questa funzione.
Documentazione java per android.media.AudioTrack.write(short[], int, int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Write(Single[], Int32, Int32, WriteMode)
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico).
[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
Parametri
- audioData
- Single[]
matrice che contiene i dati da scrivere. L'implementazione non ritaglia i valori di esempio all'interno dell'intervallo nominale [-1.0f, 1.0f], purché tutti i guadagni nella pipeline audio siano minori o uguali a unity (1,0f) e in assenza di effetti post-elaborazione che potrebbero aggiungere energia, ad esempio il riverbero. Per praticità delle applicazioni che calcolano campioni usando filtri con guadagno non unity, sono consentiti valori di esempio +3 dB oltre l'intervallo nominale. Tuttavia, tali valori possono essere eventualmente limitati o ritagliati, a seconda di vari guadagni e successiva elaborazione nel percorso audio. Pertanto, le applicazioni sono incoraggiate a fornire valori di campioni all'interno dell'intervallo nominale.
- offsetInFloats
- Int32
offset, espresso come numero di float, in audioData in cui iniziano i dati da scrivere. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- sizeInFloats
- Int32
numero di float da scrivere in audioData dopo l'offset. Non deve essere negativo o fare in modo che l'accesso ai dati esesce dai limiti della matrice.
- writeMode
- WriteMode
uno di #WRITE_BLOCKING
, #WRITE_NON_BLOCKING
. Non ha alcun effetto in modalità statica.
<br>Con #WRITE_BLOCKING
, la scrittura bloccherà fino a quando tutti i dati non sono stati scritti nel sink audio.
<br>Con #WRITE_NON_BLOCKING
, la scrittura restituirà immediatamente dopo l'accodamento il maggior numero possibile di dati audio per la riproduzione senza bloccare.
Restituisce
zero o il numero positivo di float scritti o uno dei codici di errore seguenti. Il numero di float sarà un multiplo del numero di canali che non supererà sizeInFloats.
<ul><li>#ERROR_INVALID_OPERATION
se la traccia non è inizializzata</li<>#ERROR_BAD_VALUE
> correttamente se i parametri non vengono risolti in dati e indici</li><>#ERROR_DEAD_OBJECT
validi se AudioTrack non è più valido e deve essere ricreato. Il codice di errore dell'oggetto non recapitato non viene restituito se alcuni dati sono stati trasferiti correttamente. In questo caso, l'errore viene restituito al successivo write()</li li>>#ERROR
< in caso di altro errore</li></ul>
- Attributi
Commenti
Scrive i dati audio nel sink audio per la riproduzione (modalità di streaming) o copia i dati audio per la riproduzione successiva (modalità buffer statico). Il formato specificato nel costruttore AudioTrack deve corrispondere AudioFormat#ENCODING_PCM_FLOAT
ai dati nella matrice.
In modalità di streaming, il comportamento di blocco dipende dalla modalità di scrittura. Se la modalità di scrittura è #WRITE_BLOCKING
, la scrittura normalmente si blocca fino a quando tutti i dati non vengono accodati per la riproduzione e restituirà un conteggio di trasferimento completo. Tuttavia, se la modalità di scrittura è #WRITE_NON_BLOCKING
o la traccia viene arrestata o sospesa all'ingresso oppure un altro thread interrompe la scrittura chiamando stop o pause oppure si verifica un errore di I/O durante la scrittura, la scrittura può restituire un breve conteggio di trasferimento.
In modalità buffer statico, copia i dati nel buffer a partire dall'offset 0 e la modalità di scrittura viene ignorata. Si noti che la riproduzione effettiva di questi dati può verificarsi dopo la restituzione di questa funzione.
Documentazione java per android.media.AudioTrack.write(float[], int, int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.