ブロック再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/playback_block

サンプルの解説

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

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

プログラム側では、
最初のブロックインデックスはプレーヤーにcriAtomExPlayer_SetFirstBlockIndex関数で指定し、
2番目以降のブロックインデックスは再生IDにcriAtomExPlayback_SetNextBlockIndex関数で指定します。
途中に分岐があるブロックキューを再生、制御するコードを以下に示します。
    /* プレーヤーの作成 */
    player = criAtomExPlayer_Create(NULL, NULL, 0);

    /* ブロックキューをセット */
    player = criAtomExPlayer_SetCueName(acb, "block");

    /* 最初のブロックを選択 */
    criAtomExPlayer_SetFirstBlockIndex(app_obj->player, 0);

    /* 再生の開始 */
    CriAtomExPlaybackId playback_id;
    playback_id = criAtomExPlayer_Start(player);
        :
    /* 次のブロックを指定 */
    if (status_of_something) {
        criAtomExPlayback_SetNextBlockIndex(playback_id, 1);
    } else {
        criAtomExPlayback_SetNextBlockIndex(playback_id, 2);
    }
以下コードのように、criAtomExPlayer_SetBlockTransitionCallback関数を使用することで、 ブロックの切替わりタイミングでコールバックを受けることも可能です。
void main()
{
    /* トランジションコールバックの登録 */
    criAtomExPlayer_SetBlockTransitionCallback(
        app_obj->player, &user_transition_callback_func, app_obj);
}

void user_transition_callback_func(
    void *obj, CriAtomExPlaybackId id, CriAtomExBlockIndex index)
{
    printf("PlaybackId:%d, BlockIndex:%d\n", id, index);
}

CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.