CRI ADX  Last Updated: 2024-03-21 14:32 p
ブロック再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/playback_block

サンプルで使用しているデータ

/cri/common/smpdata/criatomex/
  • SampleProject.acf
  • AtomCueSheet.acb
  • AtomCueSheet.awb

サンプルの解説

ブロックキューであるジングルサウンドを再生中に分岐させるサンプルプログラムです。


ブロックキューはCRI Atom Craftで作成します。
詳細こちらを参照ください→ ブロック再生


プログラム側では、
最初のブロックインデックスはプレーヤーに criAtomExPlayer_SetFirstBlockIndex 関数で指定し、
2番目以降のブロックインデックスは再生IDに criAtomExPlayback_SetNextBlockIndex 関数で指定します。
途中に分岐があるブロックキューを再生、制御するコードを以下に示します。
/* プレーヤーの作成 */
player = criAtomExPlayer_Create(NULL, NULL, 0);
/* ブロックキューをセット */
player = criAtomExPlayer_SetCueName(acb, "block");
/* 最初のブロックを選択 */
/* 再生の開始 */
CriAtomExPlaybackId playback_id;
playback_id = criAtomExPlayer_Start(player);
:
/* 次のブロックを指定 */
if (status_of_something) {
} else {
}
void criAtomExPlayback_SetNextBlockIndex(CriAtomExPlaybackId id, CriAtomExBlockIndex index)
再生音のブロック遷移
void criAtomExPlayer_SetFirstBlockIndex(CriAtomExPlayerHn player, CriAtomExBlockIndex index)
再生開始ブロックのセット(ブロックインデックス指定)
void criAtomExPlayer_SetCueName(CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, const CriChar8 *cue_name)
音声データのセット(キュー名指定)
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
再生の開始
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
AtomExPlayerの作成
CriUint32 CriAtomExPlaybackId
再生ID
Definition: cri_atom_ex.h:3756
以下コードのように、 criAtomExPlayer_SetBlockTransitionCallback 関数を使用することで、 ブロックの切替わりタイミングでコールバックを受けることも可能です。
void main()
{
/* トランジションコールバックの登録 */
app_obj->player, &user_transition_callback_func, app_obj);
}
void user_transition_callback_func(
{
printf("PlaybackId:%d, BlockIndex:%d\n", id, index);
}
CriSint32 CriAtomExBlockIndex
ブロックインデックス
Definition: cri_atom_ex.h:2308
void criAtomExPlayer_SetBlockTransitionCallback(CriAtomExPlayerHn player, CriAtomExPlayerBlockTransitionCbFunc func, void *obj)
ブロックトランジションコールバック関数の登録