CRI ADX  Last Updated: 2024-03-21 14:32 p
単純再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/simple_playback

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

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

サンプルの解説

コーディングの手間を最小限に抑えて、単にワンショットの音声データを再生する方法を紹介します。
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);
/* 再生の開始 */
/* メインループ */
for(;;) {
/* V同期待ち */
criFwSys_WaitVsync();
/* サーバー処理の実行 */
/* プレーヤーのステータス取得 */
player_status = criAtomExPlayer_GetStatus(player);
if (player_status == CRIATOMEXPLAYER_STATUS_PLAYEND) {
break;
}
}
CriAtomExAcbObj * CriAtomExAcbHn
ACBハンドル
Definition: cri_atom_ex.h:3067
CriAtomExAcbHn criAtomExAcb_LoadAcbFile(CriFsBinderHn acb_binder, const CriChar8 *acb_path, CriFsBinderHn awb_binder, const CriChar8 *awb_path, void *work, CriSint32 work_size)
ACBファイルのロード
CriBool criAtomEx_Initialize(const CriAtomExConfig *config, void *work, CriSint32 work_size)
ライブラリの初期化
void criAtomEx_ExecuteMain(void)
サーバー処理の実行
CriBool criAtomEx_RegisterAcfFile(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
ACFファイルの登録
#define criAtomEx_SetUserAllocator(p_malloc_func, p_free_func, p_obj)
ユーザアロケーターの登録
Definition: cri_atom_ex.h:313
CriAtomExPlayerStatus criAtomExPlayer_GetStatus(CriAtomExPlayerHn player)
ステータスの取得
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
再生の開始
CriAtomExPlayerObj * CriAtomExPlayerHn
プレーヤーハンドル
Definition: cri_atom_ex.h:3656
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
AtomExPlayerの作成
void criAtomExPlayer_SetCueId(CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, CriAtomExCueId id)
音声データのセット(キューID指定)
enum CriAtomExPlayerStatusTag CriAtomExPlayerStatus
プレーヤーステータス
@ CRIATOMEXPLAYER_STATUS_PLAYEND
Definition: cri_atom_ex.h:3704
struct CriAtomExVoicePoolTag * CriAtomExVoicePoolHn
ボイスプールハンドル
Definition: cri_atom_ex.h:3254
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateAdxVoicePool(const CriAtomExAdxVoicePoolConfig *config, void *work, CriSint32 work_size)
ADXボイスプールの作成


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


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