Freigeben über


AudioTrack.Write Methode

Definition

Überlädt

Write(ByteBuffer, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

Write(Byte[], Int32, Int32)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

Write(Int16[], Int32, Int32)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

Write(ByteBuffer, Int32, WriteMode, Int64)

Schreibt die Audiodaten in die Audio-Spüle für die Wiedergabe im Streamingmodus auf einem HW_AV_SYNC Titel.

Write(Byte[], Int32, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

Write(Int16[], Int32, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

Write(Single[], Int32, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

Write(ByteBuffer, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

[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

Parameter

audioData
ByteBuffer

der Puffer, der die zu schreibenden Daten enthält, beginnend an der von .audioData.position() <BR>Beachten Sie, dass die Pufferposition (audioData.position()) nach der Rückgabe erweitert wurde, um die Menge der Daten widerzuspiegeln, die erfolgreich in AudioTrack geschrieben wurden.

sizeInBytes
Int32

Anzahl der zu schreibenden Bytes. Es wird empfohlen, aber nicht erzwungen, dass die angeforderte Anzahl von Bytes ein Vielfaches der Framegröße ist (Beispielgröße in Bytes multipliziert mit der Kanalanzahl). <BR>Note this may differ from audioData.remaining(), but cannot exceed it.

writeMode
WriteMode

einer von #WRITE_BLOCKING, #WRITE_NON_BLOCKING. Sie hat keine Auswirkung im statischen Modus. <BR>Mit #WRITE_BLOCKING, der Schreibvorgang wird blockiert, bis alle Daten in die Audio-Spüle geschrieben wurden. <BR>Mit #WRITE_NON_BLOCKING, der Schreibvorgang wird unmittelbar nach dem Queuing so viele Audiodaten für die Wiedergabe wie möglich zurückgegeben, ohne zu blockieren.

Gibt zurück

null oder die positive Anzahl von Bytes, die geschrieben wurden, oder eine der folgenden Fehlercodes. <ul><li>#ERROR_INVALID_OPERATION, wenn der Titel nicht ordnungsgemäß initialisiert</li li#ERROR_BAD_VALUE><> ist, wenn die Parameter nicht in gültige Daten und Indizes</li li><>#ERROR_DEAD_OBJECT aufgelöst werden, wenn audioTrack nicht mehr gültig ist und neu erstellt werden muss. Der Fehlercode für das inaktive Objekt wird nicht zurückgegeben, wenn einige Daten erfolgreich übertragen wurden. In diesem Fall wird der Fehler bei der nächsten write()</li li>#ERROR<> im Falle eines anderen Fehlers</li/ul>< zurückgegeben.>

Attribute

Hinweise

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus). Die audioData in ByteBuffer sollte mit dem im AudioTrack-Konstruktor angegebenen Format übereinstimmen.

Im Streamingmodus hängt das Blockierungsverhalten vom Schreibmodus ab. Wenn der Schreibmodus lautet #WRITE_BLOCKING, wird der Schreibvorgang normalerweise blockiert, bis alle Daten für die Wiedergabe abgefragt wurden, und es wird eine vollständige Übertragungsanzahl zurückgegeben. Wenn der Schreibmodus #WRITE_NON_BLOCKINGjedoch ist oder die Spur beim Eintrag angehalten oder angehalten wird oder ein anderer Thread den Schreibvorgang durch Aufrufen von Stopp oder Pause unterbricht oder während des Schreibvorgangs ein E/A-Fehler auftritt, gibt der Schreibvorgang möglicherweise eine kurze Übertragungsanzahl zurück.

Kopiert die Daten im statischen Puffermodus ab Offset 0 in den Puffer, und der Schreibmodus wird ignoriert. Beachten Sie, dass die tatsächliche Wiedergabe dieser Daten nach dem Zurückgeben dieser Funktion auftreten kann.

Java-Dokumentation für android.media.AudioTrack.write(java.nio.ByteBuffer, int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(Byte[], Int32, Int32)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

[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

Parameter

audioData
Byte[]

das Array, das die zu wiedergebenden Daten enthält.

offsetInBytes
Int32

der in Byte ausgedrückte Offset in audioData, in dem die zu schreibenden Daten gestartet werden. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

sizeInBytes
Int32

die Anzahl der Bytes, die nach dem Offset in audioData geschrieben werden sollen. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

Gibt zurück

null oder die positive Anzahl von Bytes, die geschrieben wurden, oder eine der folgenden Fehlercodes. Die Anzahl der Bytes ist ein Vielfaches der Framegröße in Byte, um die GrößeInBytes nicht zu überschreiten. <ul><li>#ERROR_INVALID_OPERATION, wenn der Titel nicht ordnungsgemäß initialisiert</li li#ERROR_BAD_VALUE><> ist, wenn die Parameter nicht in gültige Daten und Indizes</li li><>#ERROR_DEAD_OBJECT aufgelöst werden, wenn audioTrack nicht mehr gültig ist und neu erstellt werden muss. Der Fehlercode für das inaktive Objekt wird nicht zurückgegeben, wenn einige Daten erfolgreich übertragen wurden. In diesem Fall wird der Fehler bei der nächsten write()</li li<#ERROR>> im Falle eines anderen Fehlers</li/ul><> zurückgegeben. Dies entspricht #write(byte[], int, int, int) dem Wert für writeMode "Set".#WRITE_BLOCKING

Attribute

Hinweise

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus). Das im AudioTrack-Konstruktor angegebene Format sollte AudioFormat#ENCODING_PCM_8BIT den Daten im Array entsprechen. Das Format kann sein AudioFormat#ENCODING_PCM_16BIT, dies ist jedoch veraltet.

Im Streamingmodus wird der Schreibvorgang normalerweise blockiert, bis alle Daten für die Wiedergabe abgefragt wurden, und es wird eine vollständige Übertragungsanzahl zurückgegeben. Wenn der Titel jedoch beim Eintrag angehalten oder angehalten wird oder ein anderer Thread den Schreibvorgang durch Aufrufen von Stopp oder Pause unterbricht oder während des Schreibvorgangs ein E/A-Fehler auftritt, gibt der Schreibvorgang möglicherweise eine kurze Übertragungsanzahl zurück.

Kopiert die Daten im statischen Puffermodus ab Offset 0 in den Puffer. Beachten Sie, dass die tatsächliche Wiedergabe dieser Daten nach dem Zurückgeben dieser Funktion auftreten kann.

Java-Dokumentation für android.media.AudioTrack.write(byte[], int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(Int16[], Int32, Int32)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

[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

Parameter

audioData
Int16[]

das Array, das die zu wiedergebenden Daten enthält.

offsetInShorts
Int32

der offset ausgedrückt in shorts in audioData, wo die zu wiedergebenden Daten gestartet werden. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

sizeInShorts
Int32

die Anzahl der Shorts, die nach dem Offset in audioData gelesen werden sollen. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

Gibt zurück

null oder die positive Anzahl von Shorts, die geschrieben wurden, oder eine der folgenden Fehlercodes. Die Anzahl der Shorts ist ein Vielfaches der Kanalanzahl, die sizeInShorts nicht überschreitet. <ul><li>#ERROR_INVALID_OPERATION, wenn der Titel nicht ordnungsgemäß initialisiert</li li#ERROR_BAD_VALUE><> ist, wenn die Parameter nicht in gültige Daten und Indizes</li li><>#ERROR_DEAD_OBJECT aufgelöst werden, wenn audioTrack nicht mehr gültig ist und neu erstellt werden muss. Der Fehlercode für das inaktive Objekt wird nicht zurückgegeben, wenn einige Daten erfolgreich übertragen wurden. In diesem Fall wird der Fehler bei der nächsten write()</li li<#ERROR>> im Falle eines anderen Fehlers</li/ul><> zurückgegeben. Dies entspricht #write(short[], int, int, int) dem Wert für writeMode "Set".#WRITE_BLOCKING

Attribute

Hinweise

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus). Das im AudioTrack-Konstruktor angegebene Format sollte AudioFormat#ENCODING_PCM_16BIT den Daten im Array entsprechen.

Im Streamingmodus wird der Schreibvorgang normalerweise blockiert, bis alle Daten für die Wiedergabe abgefragt wurden, und es wird eine vollständige Übertragungsanzahl zurückgegeben. Wenn der Titel jedoch beim Eintrag angehalten oder angehalten wird oder ein anderer Thread den Schreibvorgang durch Aufrufen von Stopp oder Pause unterbricht oder während des Schreibvorgangs ein E/A-Fehler auftritt, gibt der Schreibvorgang möglicherweise eine kurze Übertragungsanzahl zurück.

Kopiert die Daten im statischen Puffermodus ab Offset 0 in den Puffer. Beachten Sie, dass die tatsächliche Wiedergabe dieser Daten nach dem Zurückgeben dieser Funktion auftreten kann.

Java-Dokumentation für android.media.AudioTrack.write(short[], int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(ByteBuffer, Int32, WriteMode, Int64)

Schreibt die Audiodaten in die Audio-Spüle für die Wiedergabe im Streamingmodus auf einem HW_AV_SYNC Titel.

[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

Parameter

audioData
ByteBuffer

der Puffer, der die zu schreibenden Daten enthält, beginnend an der von .audioData.position() <BR>Beachten Sie, dass die Pufferposition (audioData.position()) nach der Rückgabe erweitert wurde, um die Menge der Daten widerzuspiegeln, die erfolgreich in AudioTrack geschrieben wurden.

sizeInBytes
Int32

Anzahl der zu schreibenden Bytes. Es wird empfohlen, aber nicht erzwungen, dass die angeforderte Anzahl von Bytes ein Vielfaches der Framegröße ist (Beispielgröße in Bytes multipliziert mit der Kanalanzahl). <BR>Note this may differ from audioData.remaining(), but cannot exceed it.

writeMode
WriteMode

einer von #WRITE_BLOCKING, #WRITE_NON_BLOCKING. <BR>Mit #WRITE_BLOCKING, der Schreibvorgang wird blockiert, bis alle Daten in die Audio-Spüle geschrieben wurden. <BR>Mit #WRITE_NON_BLOCKING, der Schreibvorgang wird unmittelbar nach dem Queuing so viele Audiodaten für die Wiedergabe wie möglich zurückgegeben, ohne zu blockieren.

timestamp
Int64

Der Zeitstempel in Nanosekunden des ersten decodierbaren Audioframes in den bereitgestellten audioData.

Gibt zurück

null oder die positive Anzahl von Bytes, die geschrieben wurden, oder eine der folgenden Fehlercodes. <ul><li>#ERROR_INVALID_OPERATION, wenn der Titel nicht ordnungsgemäß initialisiert</li li#ERROR_BAD_VALUE><> ist, wenn die Parameter nicht in gültige Daten und Indizes</li li><>#ERROR_DEAD_OBJECT aufgelöst werden, wenn audioTrack nicht mehr gültig ist und neu erstellt werden muss. Der Fehlercode für das inaktive Objekt wird nicht zurückgegeben, wenn einige Daten erfolgreich übertragen wurden. In diesem Fall wird der Fehler bei der nächsten write()</li li>#ERROR<> im Falle eines anderen Fehlers</li/ul>< zurückgegeben.>

Attribute

Hinweise

Schreibt die Audiodaten in die Audio-Spüle für die Wiedergabe im Streamingmodus auf einem HW_AV_SYNC Titel. Das Blockierungsverhalten hängt vom Schreibmodus ab.

Java-Dokumentation für android.media.AudioTrack.write(java.nio.ByteBuffer, int, int, long).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(Byte[], Int32, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

[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

Parameter

audioData
Byte[]

das Array, das die zu wiedergebenden Daten enthält.

offsetInBytes
Int32

der in Byte ausgedrückte Offset in audioData, in dem die zu schreibenden Daten gestartet werden. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

sizeInBytes
Int32

die Anzahl der Bytes, die nach dem Offset in audioData geschrieben werden sollen. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

writeMode
WriteMode

einer von #WRITE_BLOCKING, #WRITE_NON_BLOCKING. Sie hat keine Auswirkung im statischen Modus. <br>With #WRITE_BLOCKING, der Schreibvorgang wird blockiert, bis alle Daten in die Audio-Spüle geschrieben wurden. <br>With #WRITE_NON_BLOCKING, der Schreibvorgang wird unmittelbar nach dem Queuing so viele Audiodaten für die Wiedergabe wie möglich zurückgegeben, ohne zu blockieren.

Gibt zurück

null oder die positive Anzahl von Bytes, die geschrieben wurden, oder eine der folgenden Fehlercodes. Die Anzahl der Bytes ist ein Vielfaches der Framegröße in Byte, um die GrößeInBytes nicht zu überschreiten. <ul><li>#ERROR_INVALID_OPERATION, wenn der Titel nicht ordnungsgemäß initialisiert</li li#ERROR_BAD_VALUE><> ist, wenn die Parameter nicht in gültige Daten und Indizes</li li><>#ERROR_DEAD_OBJECT aufgelöst werden, wenn audioTrack nicht mehr gültig ist und neu erstellt werden muss. Der Fehlercode für das inaktive Objekt wird nicht zurückgegeben, wenn einige Daten erfolgreich übertragen wurden. In diesem Fall wird der Fehler bei der nächsten write()</li li>#ERROR<> im Falle eines anderen Fehlers</li/ul>< zurückgegeben.>

Attribute

Hinweise

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus). Das im AudioTrack-Konstruktor angegebene Format sollte AudioFormat#ENCODING_PCM_8BIT den Daten im Array entsprechen. Das Format kann sein AudioFormat#ENCODING_PCM_16BIT, dies ist jedoch veraltet.

Im Streamingmodus hängt das Blockierungsverhalten vom Schreibmodus ab. Wenn der Schreibmodus lautet #WRITE_BLOCKING, wird der Schreibvorgang normalerweise blockiert, bis alle Daten für die Wiedergabe abgefragt wurden, und es wird eine vollständige Übertragungsanzahl zurückgegeben. Wenn der Schreibmodus #WRITE_NON_BLOCKINGjedoch ist oder die Spur beim Eintrag angehalten oder angehalten wird oder ein anderer Thread den Schreibvorgang durch Aufrufen von Stopp oder Pause unterbricht oder während des Schreibvorgangs ein E/A-Fehler auftritt, gibt der Schreibvorgang möglicherweise eine kurze Übertragungsanzahl zurück.

Kopiert die Daten im statischen Puffermodus ab Offset 0 in den Puffer, und der Schreibmodus wird ignoriert. Beachten Sie, dass die tatsächliche Wiedergabe dieser Daten nach dem Zurückgeben dieser Funktion auftreten kann.

Java-Dokumentation für android.media.AudioTrack.write(byte[], int, int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(Int16[], Int32, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

[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

Parameter

audioData
Int16[]

das Array, das die zu schreibenden Daten enthält.

offsetInShorts
Int32

der In Kürze ausgedrückte Offset in audioData, in dem die zu schreibenden Daten gestartet werden. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

sizeInShorts
Int32

die Anzahl der Shorts, die nach dem Offset in audioData gelesen werden sollen. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

writeMode
WriteMode

einer von #WRITE_BLOCKING, #WRITE_NON_BLOCKING. Sie hat keine Auswirkung im statischen Modus. <br>With #WRITE_BLOCKING, der Schreibvorgang wird blockiert, bis alle Daten in die Audio-Spüle geschrieben wurden. <br>With #WRITE_NON_BLOCKING, der Schreibvorgang wird unmittelbar nach dem Queuing so viele Audiodaten für die Wiedergabe wie möglich zurückgegeben, ohne zu blockieren.

Gibt zurück

null oder die positive Anzahl von Shorts, die geschrieben wurden, oder eine der folgenden Fehlercodes. Die Anzahl der Shorts ist ein Vielfaches der Kanalanzahl, die sizeInShorts nicht überschreitet. <ul><li>#ERROR_INVALID_OPERATION, wenn der Titel nicht ordnungsgemäß initialisiert</li li#ERROR_BAD_VALUE><> ist, wenn die Parameter nicht in gültige Daten und Indizes</li li><>#ERROR_DEAD_OBJECT aufgelöst werden, wenn audioTrack nicht mehr gültig ist und neu erstellt werden muss. Der Fehlercode für das inaktive Objekt wird nicht zurückgegeben, wenn einige Daten erfolgreich übertragen wurden. In diesem Fall wird der Fehler bei der nächsten write()</li li>#ERROR<> im Falle eines anderen Fehlers</li/ul>< zurückgegeben.>

Attribute

Hinweise

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus). Das im AudioTrack-Konstruktor angegebene Format sollte AudioFormat#ENCODING_PCM_16BIT den Daten im Array entsprechen.

Im Streamingmodus hängt das Blockierungsverhalten vom Schreibmodus ab. Wenn der Schreibmodus lautet #WRITE_BLOCKING, wird der Schreibvorgang normalerweise blockiert, bis alle Daten für die Wiedergabe abgefragt wurden, und es wird eine vollständige Übertragungsanzahl zurückgegeben. Wenn der Schreibmodus #WRITE_NON_BLOCKINGjedoch ist oder die Spur beim Eintrag angehalten oder angehalten wird oder ein anderer Thread den Schreibvorgang durch Aufrufen von Stopp oder Pause unterbricht oder während des Schreibvorgangs ein E/A-Fehler auftritt, gibt der Schreibvorgang möglicherweise eine kurze Übertragungsanzahl zurück.

Kopiert die Daten im statischen Puffermodus ab Offset 0 in den Puffer. Beachten Sie, dass die tatsächliche Wiedergabe dieser Daten nach dem Zurückgeben dieser Funktion auftreten kann.

Java-Dokumentation für android.media.AudioTrack.write(short[], int, int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(Single[], Int32, Int32, WriteMode)

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus).

[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

Parameter

audioData
Single[]

das Array, das die zu schreibenden Daten enthält. Die Implementierung bezieht sich nicht auf Beispielwerte innerhalb des Nominalbereichs [-1,0f, 1,0f], vorausgesetzt, dass alle Gewinne in der Audiopipeline kleiner oder gleich Einheit (1,0f) sind und in Abwesenheit von Nachbearbeitungseffekten Energie hinzufügen können, z. B. Halleffekt. Für den Komfort von Anwendungen, die Stichproben mit Filtern mit Nicht-Unity-Verstärkung berechnen, sind Stichprobenwerte +3 dB über den Nominalbereich zulässig. Solche Werte können jedoch je nach verschiedenen Vorteilen und späterer Verarbeitung im Audiopfad begrenzt oder abgeschnitten werden. Daher werden Anwendungen ermutigt, Stichprobenwerte innerhalb des Nominalbereichs bereitzustellen.

offsetInFloats
Int32

der Offset, ausgedrückt als eine Reihe von Floats, in AudioData, wo die zu schreibenden Daten gestartet werden. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

sizeInFloats
Int32

die Anzahl der Floats, die nach dem Offset in audioData geschrieben werden sollen. Darf nicht negativ sein oder dazu führen, dass der Datenzugriff keine Grenzen des Arrays hat.

writeMode
WriteMode

einer von #WRITE_BLOCKING, #WRITE_NON_BLOCKING. Sie hat keine Auswirkung im statischen Modus. <br>With #WRITE_BLOCKING, der Schreibvorgang wird blockiert, bis alle Daten in die Audio-Spüle geschrieben wurden. <br>With #WRITE_NON_BLOCKING, der Schreibvorgang wird unmittelbar nach dem Queuing so viele Audiodaten für die Wiedergabe wie möglich zurückgegeben, ohne zu blockieren.

Gibt zurück

null oder die positive Anzahl von Floats, die geschrieben wurden, oder eine der folgenden Fehlercodes. Die Anzahl der Floats ist ein Vielfaches der Kanalanzahl, die "sizeInFloats" nicht überschreitet. <ul><li>#ERROR_INVALID_OPERATION, wenn der Titel nicht ordnungsgemäß initialisiert</li li#ERROR_BAD_VALUE><> ist, wenn die Parameter nicht in gültige Daten und Indizes</li li><>#ERROR_DEAD_OBJECT aufgelöst werden, wenn audioTrack nicht mehr gültig ist und neu erstellt werden muss. Der Fehlercode für das inaktive Objekt wird nicht zurückgegeben, wenn einige Daten erfolgreich übertragen wurden. In diesem Fall wird der Fehler bei der nächsten write()</li li>#ERROR<> im Falle eines anderen Fehlers</li/ul>< zurückgegeben.>

Attribute

Hinweise

Schreibt die Audiodaten für die Wiedergabe (Streamingmodus) in die Audiosenke oder kopiert Audiodaten für die spätere Wiedergabe (statischer Puffermodus). Das im AudioTrack-Konstruktor angegebene Format sollte AudioFormat#ENCODING_PCM_FLOAT den Daten im Array entsprechen.

Im Streamingmodus hängt das Blockierungsverhalten vom Schreibmodus ab. Wenn der Schreibmodus lautet #WRITE_BLOCKING, wird der Schreibvorgang normalerweise blockiert, bis alle Daten für die Wiedergabe abgefragt wurden, und es wird eine vollständige Übertragungsanzahl zurückgegeben. Wenn der Schreibmodus #WRITE_NON_BLOCKINGjedoch ist oder die Spur beim Eintrag angehalten oder angehalten wird oder ein anderer Thread den Schreibvorgang durch Aufrufen von Stopp oder Pause unterbricht oder während des Schreibvorgangs ein E/A-Fehler auftritt, gibt der Schreibvorgang möglicherweise eine kurze Übertragungsanzahl zurück.

Kopiert die Daten im statischen Puffermodus ab Offset 0 in den Puffer, und der Schreibmodus wird ignoriert. Beachten Sie, dass die tatsächliche Wiedergabe dieser Daten nach dem Zurückgeben dieser Funktion auftreten kann.

Java-Dokumentation für android.media.AudioTrack.write(float[], int, int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: