単純再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/simple_playback

サンプルの解説

コーディングの手間を最小限に抑えて、単にワンショットの音声データを再生する方法を紹介します。
CriAtomExAcbHn acb_hn;
CriAtomExVoicePoolHn voice_pool;
CriAtomExPlayerHn player;
CriAtomExPlayerStatus player_status;

    /* メモリアロケーターの登録 */
    criAtomEx_SetUserAllocator(user_alloc, user_free, NULL);

    /* ライブラリの初期化 */
    criAtomEx_Initialize(NULL, NULL, 0);

    /* ACFファイルの読み込みと登録 */
    criAtomEx_RegisterAcfFile(NULL, PATH ACF_FILE, NULL, 0);

    /* ACBファイルを読み込み、ACBハンドルを作成 */
    acb_hn = criAtomExAcb_LoadAcbFile(NULL, PATH ACB_FILE, NULL, PATH AWB_FILE, NULL, 0);

    /* ボイスプールの作成 */
    voice_pool = criAtomExVoicePool_AllocateAdxVoicePool(NULL, NULL, 0);

    /* プレーヤーの作成 */
    player = criAtomExPlayer_Create(NULL, NULL, 0);
    /* キューIDの指定 */
    criAtomExPlayer_SetCueId(player, acb_hn, CRI_ATOMCUESHEET_BOMB2);
    /* 再生の開始 */
    criAtomExPlayer_Start(player);

    /* メインループ */
    for(;;) {
        /* V同期待ち */
        criFwSys_WaitVsync();
        /* サーバー処理の実行 */
        criAtomEx_ExecuteMain();
        /* プレーヤーのステータス取得 */
        player_status = criAtomExPlayer_GetStatus(player);
        if (player_status == CRIATOMEXPLAYER_STATUS_PLAYEND) {
            break;
        }
    }

criAtomEx_SetUserAllocator関数でメモリアロケーターを登録しておくことで、 ワーク領域が必要なモジュールの初期化やハンドル作成処理において、ワーク領域の指定を省略できます。

詳細については、チュートリアル「キュー再生(メモリ)」を参照してください。

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