Class CriAtomEx.VoiceEventCbFunc
ボイスイベントコールバック関数型
Implements
Inherited Members
Namespace: CriWare
Assembly: CriWare.CriAtom.dll
Syntax
public class CriAtomEx.VoiceEventCbFunc : NativeCallbackBase<CriAtomEx.VoiceEventCbFunc.Arg>, ICallback<CriAtomEx.VoiceEventCbFunc.Arg>
Remarks
説明: ボイスイベントの通知に使用される、コールバック関数の型です。 SetVoiceEventCallback(delegate* unmanaged[Cdecl]<IntPtr, VoiceEvent, VoiceInfoDetail*, VoiceInfoDetail*, VoiceInfoDetail*, void>, IntPtr) 関数に本関数型のコールバック関数を登録することで、 ボイスイベント発生時にコールバックを受け取ることが可能となります。 コールバック関数の第3~5引数(request、removed、removed_in_group)に入る値は、 ボイスイベントの種別(第2引数のvoice_eventの値)により以下のように変わります。 (1) Allocate時 第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。 第4引数、第5引数にはnullが入ります。 (2) AllocateAndRemove時 第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。 第4引数removedには、ボイスを奪い取られ、発音が停止した再生の情報が入ります。 第5引数にはnullが入ります。 (3) AllocateAndRemoveInGroup時 第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。 第4引数にはnullが入ります。 第5引数removed_in_groupには、ボイスを奪い取られ、発音が停止した再生の情報が入ります。 (4) AloocateAndRemoveTwo時 第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。 第4引数removedには、ボイスを奪い取られ、発音が停止した再生の情報が入ります。 第5引数removed_in_groupには、グループ内の発音数調整により、停止された再生の情報が入ります。 (5) Reject時 第3引数requestに、ボイスの取得が棄却された発音リクエストの情報が入ります。 第4引数、第5引数にはnullが入ります。 (6) RejectByGroupLimit時 第3引数requestに、ボイスの取得が棄却された発音リクエストの情報が入ります。 第4引数、第5引数にはnullが入ります。 (7) Remove時 第4引数removedに、再生が終了または停止したボイスの情報が入ります。 第3引数、第5引数にはnullが入ります。
注意: 本コールバックでは、ボイス単位のリミット制御 *(ボイスプライオリティに基づいた波形単位のプライオリティ制御) に関する情報のみが取得可能です。 ボイス取得前にキューリミット制御で発音が棄却された場合、 本コールバックにReject等の情報は返されません。 (カテゴリキュープライオリティによる制御に関する情報は、現状取得できません。) ボイスイベントコールバック時点では、 request->atom_player には再生すべき音声データがまだセットされていません。 そのため、再生する音声データの情報等については、 atom_player に問い合わせず、 CriAtomEx.VoiceInfoDetail 構造体のメンバ値を使用してください。 本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。