Class CriAtomPlayer.DataRequestCbFunc
データ要求コールバック関数
Inheritance
Implements
Inherited Members
Namespace: CriWare
Assembly: CriWare.CriAtom.dll
Syntax
public class CriAtomPlayer.DataRequestCbFunc : NativeCallbackBase<CriAtomPlayer.DataRequestCbFunc.Arg>, ICallback<CriAtomPlayer.DataRequestCbFunc.Arg>
Remarks
説明:
説明: 次に再生するデータを指定するためのコールバック関数です。 複数の音声データをシームレスに連結して再生する際に使用します。 コールバック関数の登録には SetDataRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を使用します。 登録したコールバック関数は、Atomプレーヤーが連結再生用のデータを要求するタイミングで 実行されます。 (前回のデータを読み込み終えて、次に再生すべきデータを要求するタイミングで コールバック関数が実行されます。) 本関数内で SetData(IntPtr, int) 関数等を用いてAtomプレーヤーにデータをセットすると、 セットされたデータは現在再生中のデータに続いてシームレスに連結されて再生されます。 また、本関数内で SetPreviousDataAgain() 関数を実行することで、 同一データを繰り返し再生し続けることも可能です。
備考: 本関数内でデータを指定しなかった場合、現在のデータを再生し終えた時点で、 Atomプレーヤーのステータスが Playend に遷移します。 タイミング等の問題により、データを指定することができないが、ステータスを Playend に遷移させたくない場合には、コールバック関数内で DeferCallback() 関数を実行してください。 DeferCallback() 関数を実行することで、約1V後に再度データ要求 コールバック関数が呼び出されます。(コールバック処理をリトライ可能。) ただし、 DeferCallback() 関数を実行した場合、再生が途切れる (連結箇所に一定時間無音が入る)可能性があります。
注意: 本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。