キューID再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/playback_cue

サンプルの解説

オーサリングツール上で作成されたキューを再生する手順は、以下のとおりです。
  1. オーサリングツールが出力した ACF ファイルを criAtomEx_RegisterAcfFile 関数で登録する。
  2. オーサリングツールが出力した ACB ファイルと AWB ファイルを criAtomEx_LoadAcbFile 関数で登録する。
  3. キュー再生用にボイスプールと D-BAS 、プレーヤーを作成する。
  4. criAtomExPlayer_SetCueId 関数で、再生するキューの ID をプレーヤーに指定する。
  5. criAtomExPlayer_Start 関数で、キューの再生を開始する。
以下、キューIDを指定して音声を再生するコードを示します。
    CriAtomExDbasId dbas_id;
    CriAtomExAcbHn acb_hn;
    CriAtomExStandardVoicePoolConfig vp_config;
    CriAtomExVoicePoolHn voice_pool;
    CriAtomExPlayerHn player;

    /* ストリーミング再生可能なボイスプールを作成 */
    criAtomExVoicePool_SetDefaultConfigForStandardVoicePool(&vp_config);
    vp_config.player_config.streaming_flag = CRI_TRUE;
    stmvoice_pool = criAtomExVoicePool_AllocateStandardVoicePool(&vp_config, NULL, 0);

    /* D-BASの作成 */
    dbas_id = criAtomExDbas_Create(NULL, NULL, 0);

    /* ACBファイルのロード */
    acb_hn = criAtomExAcb_LoadAcbFile(NULL, PATH ACB_FILE, NULL, PATH AWB_FILE, NULL, 0);

    /* プレーヤーの作成 */
    player = criAtomExPlayer_Create(NULL, NULL, 0);

    /* 再生するキューのIDを指定 */
    criAtomExPlayer_SetCueId(player, acb_hn, 15);

    /* 再生の開始 */
    criAtomExPlayer_Start(player);
キューの指定方法について

上記サンプルでは、キューの指定を ID 指定で行っていますが、 criAtomExPlayer_SetCueName 関数や criAtomExPlayer_SetCueIndex 関数を使用することで、 キュー名やキューインデックス(ファイル内のキューのオフセット番号)でキューの指定を行うことも可能です。
また、オーサリングツールが出力したヘッダーファイルをインクルードすることで、 キュー ID を数値ではなく、マクロ定義名で指定することも可能です。
再生する音声のチャンネル数について

上記サンプルでは、音声再生用にストリーミング再生可能な標準ボイスプールを作成しています。
一般的な音声データ(モノラル/ステレオの ADX / HCA データ)については上記コードで再生が可能ですが、 マルチチャンネル音声を再生する場合にはコードを一部修正する必要があります。
具体的には、マルチチャンネル音声の再生に対応する場合は、ボイスプール作成時に player_config.max_channels の値を増やす必要があります。

オンメモリ再生のみを行う場合について

ストリーミング再生を行わず、オンメモリデータのみの再生を行う(ACBファイルのみを使用する)場合、 以下の修正を加えることで、使用するメモリサイズを削減することが可能です。


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