Language

AudioTrack.FlushWrittenFramesFromPosition(Int64, Int32) メソッド

定義

指定された位置からすべてのデータをフラッシュします。

[Android.Runtime.Register("flushWrittenFramesFromPosition", "(JI)J", "GetFlushWrittenFramesFromPosition_JIHandler", ApiSince=37)]
public virtual long FlushWrittenFramesFromPosition(long positionInFrames, int accuracy);
[<Android.Runtime.Register("flushWrittenFramesFromPosition", "(JI)J", "GetFlushWrittenFramesFromPosition_JIHandler", ApiSince=37)>]
abstract member FlushWrittenFramesFromPosition : int64 * int -> int64
override this.FlushWrittenFramesFromPosition : int64 * int -> int64

パラメーター

positionInFrames
Int64

フラッシュするフレームの開始点。 値は、0 から書き込まれたフレームの合計数の間である必要があります。

accuracy
Int32

フラッシュ時の精度要件。 #FLUSH_FROM_ACCURACY_BEST_EFFORTを使用して、要求された位置にできるだけ近いフラッシュを示します。 #FLUSH_FROM_ACCURACY_EXACTを使用して、要求された位置からフラッシュする必要があることを示します。

返品

実際にフラッシュされた位置。

属性

注釈

指定された位置からすべてのデータをフラッシュします。

この操作が正常に返された場合、このメソッドの呼び出し後の write(byte, int, int) は、このメソッドによって返されるフレーム位置から書き込まれます。 メソッド getWrittenFramesCount() を使用して、現在のフレーム位置を検索できます。

このメソッドはオフロード モードでのみ使用できます (つまり、Builder.setOffloadedPlayback(boolean) を true に設定して作成されたトラック)。 アプリケーションはこの関数を呼び出して、アクティブな再生中にデータをフラッシュできます。

この方法のサポートは、デバイスの機能に依存します。 GetFlushWrittenFramesFromPositionSupport(AudioFormat,AudioAttributes) を呼び出して、AudioTrack を作成する前に AudioFormat および AudioAttributes でこのメソッドがどのようにサポートされているかをクエリします。 getFlushWrittenFramesFromPositionSupport(AudioFormat, AudioAttributes) が 0 を返した場合、UnsupportedOperationException がスローされます。

クライアントが特定の位置からフラッシュを要求すると、オーディオ システムは、要求された位置、要求されたフラッシュ精度、および破棄できた量に基づいて、実際にフラッシュされた位置を返します。 実際にフラッシュされた位置からのすべてのデータは破棄されます。 ストリームがフラッシュされると、ストリームの終了 (setOffloadEndOfStream() によって設定されている場合) がリセットされます。

クライアントは、この関数が戻る前にデータを書き込む必要はありません。 そうしないと、データが破損している可能性があります。 メソッドが正常に戻り、ストリームがアクティブな場合、オーディオ データがほとんど残っていない場合、クライアントはデータをすぐに書き込む必要があります。そうしないと、再生がアンダーランする可能性があります。

android.media.AudioTrack.flushWrittenFramesFromPositionの Android リファレンス。

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

適用対象