Language

AudioTrack.Write メソッド

定義

オーバーロード

名前 説明
Write(Single[], Int32, Int32, WriteMode)

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

Write(ByteBuffer, Int32, WriteMode)

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

Write(Byte[], Int32, Int32)

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

Write(Int16[], Int32, Int32)

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

Write(ByteBuffer, Int32, WriteMode, Int64)

HW_AV_SYNC トラックのストリーミング モードで再生するために、オーディオ データをオーディオ シンクに書き込みます。

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

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

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

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

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

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

[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

パラメーター

audioData
Single[]

書き込むデータを保持する配列。 オーディオ パイプラインのすべてのゲインが Unity (1.0f) 以下であり、リバーブなどのエネルギーを追加する可能性がある後処理効果がない場合、実装では、標準範囲 [-1.0f, 1.0f] 内のサンプル値をクリップしません。 ユニティゲイン以外のフィルタを使用してサンプルを計算するアプリケーションでは、標準範囲を超えるサンプル値 +3 dB が許可されます。 ただし、このような値は、オーディオ パスのさまざまなゲインと後の処理に応じて、最終的に制限またはクリップされる可能性があります。 したがって、アプリケーションは、標準範囲内のサンプル値を提供することをお勧めします。

offsetInFloats
Int32

書き込むデータが開始される audioData 内の、浮動小数点数で表されるオフセット。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

sizeInFloats
Int32

オフセットの後の audioData に書き込む浮動小数点数の数。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

writeMode
WriteMode

#WRITE_BLOCKINGの 1 つ、#WRITE_NON_BLOCKING。 静的モードでは効果がありません。 <br>#WRITE_BLOCKINGすると、すべてのデータがオーディオ シンクに書き込まれるまで書き込みはブロックされます。 <br>#WRITE_NON_BLOCKINGすると、書き込みはできるだけ多くのオーディオ データをキューに入れ、ブロックせずに再生した直後に返されます。

返品

0 または書き込まれた浮動小数点数の正の数、または次のいずれかのエラー コード。 浮動小数点数の数は、sizeInFloats を超えないチャネル数の倍数になります。 <ul><li>#ERROR_INVALID_OPERATION トラックが正しく初期化されていない場合</li><li>#ERROR_BAD_VALUE パラメーターが有効なデータとインデックスに解決されない場合</li><li>#ERROR_DEAD_OBJECT AudioTrack が無効になり、再作成する必要がある場合。 一部のデータが正常に転送された場合、デッド オブジェクトのエラー コードは返されません。 この場合、エラーは次の write()</li><li>#ERROR で返されます(他のエラーが発生した場合</li></ul>

属性

注釈

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。 AudioTrack コンストラクターで指定された形式は、配列内のデータに対応するように AudioFormat#ENCODING_PCM_FLOAT する必要があります。

ストリーミング モードでは、ブロック動作は書き込みモードによって異なります。 書き込みモードが #WRITE_BLOCKING場合、通常、すべてのデータが再生のためにエンキューされるまで書き込みはブロックされ、完全な転送カウントが返されます。 ただし、書き込みモードが #WRITE_NON_BLOCKINGされている場合、またはトラックがエントリで停止または一時停止されている場合、または別のスレッドが停止または一時停止を呼び出して書き込みを中断した場合、または書き込み中に I/O エラーが発生した場合、書き込みでは短い転送カウントが返されることがあります。

静的バッファー モードでは、オフセット 0 以降のバッファーにデータをコピーし、書き込みモードは無視されます。 このデータの実際の再生は、この関数が戻った後に発生する可能性があることに注意してください。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

Write(ByteBuffer, Int32, WriteMode)

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

[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

パラメーター

audioData
ByteBuffer

書き込むデータを保持するバッファー 。 audioData.position()によって報告された位置から始まります。 <BR>戻ると、AudioTrack に正常に書き込まれたデータの量を反映するようにバッファー位置 (audioData.position()) が進められます。

sizeInBytes
Int32

書き込むバイト数。 要求されたバイト数がフレーム サイズの倍数 (サンプル サイズ (バイト単位) にチャネル数を乗算したもの) にすることをお勧めしますが、適用されません。 <BR>これは audioData.remaining()とは異なる場合がありますが、それを超えることはできません。

writeMode
WriteMode

#WRITE_BLOCKINGの 1 つ、#WRITE_NON_BLOCKING。 静的モードでは効果がありません。 <BR>#WRITE_BLOCKINGすると、すべてのデータがオーディオ シンクに書き込まれるまで書き込みはブロックされます。 <BR>#WRITE_NON_BLOCKINGを使用すると、書き込みは、できるだけ多くのオーディオ データをブロックせずに再生するためにキューに入った直後に返されます。

返品

0 または書き込まれた正のバイト数、または次のいずれかのエラー コード。 <ul><li>#ERROR_INVALID_OPERATION トラックが正しく初期化されていない場合</li><li>#ERROR_BAD_VALUE パラメーターが有効なデータとインデックスに解決されない場合</li><li>#ERROR_DEAD_OBJECT AudioTrack が無効になり、再作成する必要がある場合。 一部のデータが正常に転送された場合、デッド オブジェクトのエラー コードは返されません。 この場合、エラーは次の write()</li><li>#ERROR で返されます(他のエラーが発生した場合</li></ul>

属性

注釈

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。 ByteBuffer の audioData は、AudioTrack コンストラクターで指定された形式と一致する必要があります。

ストリーミング モードでは、ブロック動作は書き込みモードによって異なります。 書き込みモードが #WRITE_BLOCKING場合、通常、すべてのデータが再生のためにエンキューされるまで書き込みはブロックされ、完全な転送カウントが返されます。 ただし、書き込みモードが #WRITE_NON_BLOCKINGされている場合、またはトラックがエントリで停止または一時停止されている場合、または別のスレッドが停止または一時停止を呼び出して書き込みを中断した場合、または書き込み中に I/O エラーが発生した場合、書き込みでは短い転送カウントが返されることがあります。

静的バッファー モードでは、オフセット 0 以降のバッファーにデータをコピーし、書き込みモードは無視されます。 このデータの実際の再生は、この関数が戻った後に発生する可能性があることに注意してください。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

Write(Byte[], Int32, Int32)

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

[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

パラメーター

audioData
Byte[]

再生するデータを保持する配列。

offsetInBytes
Int32

書き込むデータが開始される audioData のバイト単位で表されるオフセット。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

sizeInBytes
Int32

オフセットの後の audioData に書き込むバイト数。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

返品

0 または書き込まれた正のバイト数、または次のいずれかのエラー コード。 バイト数は、sizeInBytes を超えないバイト単位のフレーム サイズの倍数になります。 <ul><li>#ERROR_INVALID_OPERATION トラックが正しく初期化されていない場合</li><li>#ERROR_BAD_VALUE パラメーターが有効なデータとインデックスに解決されない場合</li><li>#ERROR_DEAD_OBJECT AudioTrack が無効になり、再作成する必要がある場合。 一部のデータが正常に転送された場合、デッド オブジェクトのエラー コードは返されません。 この場合、エラーは次の write()</li><li>#ERROR で返されます。その他のエラーが発生した場合</li></ul>これは、writeModeを #WRITE_BLOCKING に設定した#write(byte[], int, int, int)と同じです。

属性

注釈

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。 AudioTrack コンストラクターで指定された形式は、配列内のデータに対応するように AudioFormat#ENCODING_PCM_8BIT する必要があります。 形式は AudioFormat#ENCODING_PCM_16BITできますが、これは非推奨です。

ストリーミング モードでは、通常、すべてのデータが再生のためにエンキューされるまで書き込みがブロックされ、完全な転送カウントが返されます。 ただし、トラックがエントリで停止または一時停止されている場合、または別のスレッドが停止または一時停止を呼び出して書き込みを中断した場合、または書き込み中に I/O エラーが発生した場合、書き込みは短い転送カウントを返す可能性があります。

静的バッファー モードでは、オフセット 0 から始まるバッファーにデータをコピーします。 このデータの実際の再生は、この関数が戻った後に発生する可能性があることに注意してください。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

Write(Int16[], Int32, Int32)

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

[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

パラメーター

audioData
Int16[]

再生するデータを保持する配列。

offsetInShorts
Int32

再生するデータが開始される audioData のショートで表されるオフセット。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

sizeInShorts
Int32

オフセットの後に audioData で読み取るショーツの数。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

返品

書き込まれた 0 または正の数のショーツ、または次のいずれかのエラー コード。 ショートの数は、sizeInShorts を超えないようにチャンネル数の倍数になります。 <ul><li>#ERROR_INVALID_OPERATION トラックが正しく初期化されていない場合</li><li>#ERROR_BAD_VALUE パラメーターが有効なデータとインデックスに解決されない場合</li><li>#ERROR_DEAD_OBJECT AudioTrack が無効になり、再作成する必要がある場合。 一部のデータが正常に転送された場合、デッド オブジェクトのエラー コードは返されません。 この場合、エラーは次の write()</li><li>#ERROR で返されます。その他のエラーが発生した場合</li></ul>これは、writeModeを #WRITE_BLOCKING に設定した#write(short[], int, int, int)と同じです。

属性

注釈

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。 AudioTrack コンストラクターで指定された形式は、配列内のデータに対応するように AudioFormat#ENCODING_PCM_16BIT する必要があります。

ストリーミング モードでは、通常、すべてのデータが再生のためにエンキューされるまで書き込みがブロックされ、完全な転送カウントが返されます。 ただし、トラックがエントリで停止または一時停止されている場合、または別のスレッドが停止または一時停止を呼び出して書き込みを中断した場合、または書き込み中に I/O エラーが発生した場合、書き込みは短い転送カウントを返す可能性があります。

静的バッファー モードでは、オフセット 0 から始まるバッファーにデータをコピーします。 このデータの実際の再生は、この関数が戻った後に発生する可能性があることに注意してください。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

Write(ByteBuffer, Int32, WriteMode, Int64)

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

パラメーター

audioData
ByteBuffer

書き込むデータを保持するバッファー 。 audioData.position()によって報告された位置から始まります。 <BR>戻ると、AudioTrack に正常に書き込まれたデータの量を反映するようにバッファー位置 (audioData.position()) が進められます。

sizeInBytes
Int32

書き込むバイト数。 要求されたバイト数がフレーム サイズの倍数 (サンプル サイズ (バイト単位) にチャネル数を乗算したもの) にすることをお勧めしますが、適用されません。 <BR>これは audioData.remaining()とは異なる場合がありますが、それを超えることはできません。

writeMode
WriteMode

#WRITE_BLOCKINGの 1 つ、#WRITE_NON_BLOCKING。 <BR>#WRITE_BLOCKINGすると、すべてのデータがオーディオ シンクに書き込まれるまで書き込みはブロックされます。 <BR>#WRITE_NON_BLOCKINGを使用すると、書き込みは、できるだけ多くのオーディオ データをブロックせずに再生するためにキューに入った直後に返されます。

timestamp
Int64

指定された audioData 内の最初のデコード可能なオーディオ フレームのタイムスタンプ (ナノ秒単位)。

返品

0 または書き込まれた正のバイト数、または次のいずれかのエラー コード。 <ul><li>#ERROR_INVALID_OPERATION トラックが正しく初期化されていない場合</li><li>#ERROR_BAD_VALUE パラメーターが有効なデータとインデックスに解決されない場合</li><li>#ERROR_DEAD_OBJECT AudioTrack が無効になり、再作成する必要がある場合。 一部のデータが正常に転送された場合、デッド オブジェクトのエラー コードは返されません。 この場合、エラーは次の write()</li><li>#ERROR で返されます(他のエラーが発生した場合</li></ul>

属性

注釈

HW_AV_SYNC トラックのストリーミング モードで再生するために、オーディオ データをオーディオ シンクに書き込みます。ブロック動作は、書き込みモードによって異なります。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

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

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

[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

パラメーター

audioData
Byte[]

再生するデータを保持する配列。

offsetInBytes
Int32

書き込むデータが開始される audioData のバイト単位で表されるオフセット。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

sizeInBytes
Int32

オフセットの後の audioData に書き込むバイト数。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

writeMode
WriteMode

#WRITE_BLOCKINGの 1 つ、#WRITE_NON_BLOCKING。 静的モードでは効果がありません。 <br>#WRITE_BLOCKINGすると、すべてのデータがオーディオ シンクに書き込まれるまで書き込みはブロックされます。 <br>#WRITE_NON_BLOCKINGすると、書き込みはできるだけ多くのオーディオ データをキューに入れ、ブロックせずに再生した直後に返されます。

返品

0 または書き込まれた正のバイト数、または次のいずれかのエラー コード。 バイト数は、sizeInBytes を超えないバイト単位のフレーム サイズの倍数になります。 <ul><li>#ERROR_INVALID_OPERATION トラックが正しく初期化されていない場合</li><li>#ERROR_BAD_VALUE パラメーターが有効なデータとインデックスに解決されない場合</li><li>#ERROR_DEAD_OBJECT AudioTrack が無効になり、再作成する必要がある場合。 一部のデータが正常に転送された場合、デッド オブジェクトのエラー コードは返されません。 この場合、エラーは次の write()</li><li>#ERROR で返されます(他のエラーが発生した場合</li></ul>

属性

注釈

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。 AudioTrack コンストラクターで指定された形式は、配列内のデータに対応するように AudioFormat#ENCODING_PCM_8BIT する必要があります。 形式は AudioFormat#ENCODING_PCM_16BITできますが、これは非推奨です。

ストリーミング モードでは、ブロック動作は書き込みモードによって異なります。 書き込みモードが #WRITE_BLOCKING場合、通常、すべてのデータが再生のためにエンキューされるまで書き込みはブロックされ、完全な転送カウントが返されます。 ただし、書き込みモードが #WRITE_NON_BLOCKINGされている場合、またはトラックがエントリで停止または一時停止されている場合、または別のスレッドが停止または一時停止を呼び出して書き込みを中断した場合、または書き込み中に I/O エラーが発生した場合、書き込みでは短い転送カウントが返されることがあります。

静的バッファー モードでは、オフセット 0 以降のバッファーにデータをコピーし、書き込みモードは無視されます。 このデータの実際の再生は、この関数が戻った後に発生する可能性があることに注意してください。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

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

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。

[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

パラメーター

audioData
Int16[]

書き込むデータを保持する配列。

offsetInShorts
Int32

書き込むデータが開始される audioData のショートで表されるオフセット。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

sizeInShorts
Int32

オフセットの後に audioData で読み取るショーツの数。 負の値にしたり、データ アクセスを配列の範囲外にしたりしてはなりません。

writeMode
WriteMode

#WRITE_BLOCKINGの 1 つ、#WRITE_NON_BLOCKING。 静的モードでは効果がありません。 <br>#WRITE_BLOCKINGすると、すべてのデータがオーディオ シンクに書き込まれるまで書き込みはブロックされます。 <br>#WRITE_NON_BLOCKINGすると、書き込みはできるだけ多くのオーディオ データをキューに入れ、ブロックせずに再生した直後に返されます。

返品

書き込まれた 0 または正の数のショーツ、または次のいずれかのエラー コード。 ショートの数は、sizeInShorts を超えないようにチャンネル数の倍数になります。 <ul><li>#ERROR_INVALID_OPERATION トラックが正しく初期化されていない場合</li><li>#ERROR_BAD_VALUE パラメーターが有効なデータとインデックスに解決されない場合</li><li>#ERROR_DEAD_OBJECT AudioTrack が無効になり、再作成する必要がある場合。 一部のデータが正常に転送された場合、デッド オブジェクトのエラー コードは返されません。 この場合、エラーは次の write()</li><li>#ERROR で返されます(他のエラーが発生した場合</li></ul>

属性

注釈

オーディオ データを再生用のオーディオ シンク (ストリーミング モード) に書き込むか、後で再生するためにオーディオ データをコピーします (静的バッファー モード)。 AudioTrack コンストラクターで指定された形式は、配列内のデータに対応するように AudioFormat#ENCODING_PCM_16BIT する必要があります。

ストリーミング モードでは、ブロック動作は書き込みモードによって異なります。 書き込みモードが #WRITE_BLOCKING場合、通常、すべてのデータが再生のためにエンキューされるまで書き込みはブロックされ、完全な転送カウントが返されます。 ただし、書き込みモードが #WRITE_NON_BLOCKINGされている場合、またはトラックがエントリで停止または一時停止されている場合、または別のスレッドが停止または一時停止を呼び出して書き込みを中断した場合、または書き込み中に I/O エラーが発生した場合、書き込みでは短い転送カウントが返されることがあります。

静的バッファー モードでは、オフセット 0 から始まるバッファーにデータをコピーします。 このデータの実際の再生は、この関数が戻った後に発生する可能性があることに注意してください。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象