CRI ADX  Last Updated: 2024-03-21 14:32 p
音声再生中のデータ裏読み

サンプルのディレクトリ

/cri/pc/samples/criatomex/playback_with_data_load

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

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

サンプルの解説

音声再生中にデータを読み込むには、CRI File System の criFsLoader_Load 関数を使います。


キューによってはストリーミング再生を行うため、ファイルI/Oの流量管理を一元化して音途切れをしないように調整する必要があります。


CRI Atom はファイルアクセス処理に CRI File System を使っているため、アプリケーション側でもデータ読み込みにC RI File System の関数を使うことで、 ファイルI/Oの流量管理を容易に実現できます。


CriFsLoaderStatus loader_status;
/* ロード要求の発行 */
criFsLoader_Load(loader, NULL, FILE, 0, file_size, buf, buf_size);
/* アプリケーションメインループ */
for(;;) {
/* V同期待ち */
criFwSys_WaitVsync();
/* サーバー処理 */
/* CriFsLoaderのステータス取得 */
criFsLoader_GetStatus(loader, &loader_status);
if (loader_status == CRIFSLOADER_STATUS_COMPLETE) {
/* ロード完了時の処理 */
}
}
CriFsLoaderStatus
ロードステータス
Definition: cri_file_system.h:1219
@ CRIFSLOADER_STATUS_COMPLETE
Definition: cri_file_system.h:1222
CriError criFsLoader_GetStatus(CriFsLoaderHn loader, CriFsLoaderStatus *status)
ロードステータスの取得
struct CriFsLoaderObjTag * CriFsLoaderHn
CriFsLoaderハンドル
Definition: cri_file_system.h:1199
CriError criFsLoader_Load(CriFsLoaderHn loader, CriFsBinderHn binder, const CriChar8 *path, CriSint64 offset, CriSint64 load_size, void *buffer, CriSint64 buffer_size)
データのロード
void criAtomEx_ExecuteMain(void)
サーバー処理の実行