オンメモリ再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/playback_memory

サンプルの解説

メモリ上に読み込んだ音声データを、メモリアドレスとサイズを指定して再生することができます。
メモリの音声データを再生する、この方法をオンメモリ再生と呼びます。

オンメモリ再生はストリーミングを行う必要がないため、データ供給の滞りによる音途切れは発生しません。
また、全データがバッファリング済みなので、再生開始レイテンシも非常に低く抑えることができます。
以下、オンメモリ再生のコードを示します。
    CriFsStdioHn fp;
    CriAtomExVoicePoolHn voice_pool;
    CriAtomExPlayerHn player;
    CriSint64 filesize;
    CriSint32 mem_file;
    /* ファイルオープン */
    fp = criFsStdio_OpenFile(NULL, PATH FILE, "r");
    /* ファイルサイズを取得 */
    filesize = criFsStdio_GetFileSize(fp);
    /* ファイルサイズ分のメモリを確保 */
    mem_file = user_alloc(NULL, (CriSint32)filesize);
    /* 再生データのロード */
    criFsStdio_ReadFile(fp, filesize, mem_file, filesize);
    /* ファイルのクローズ */
    criFsStdio_CloseFile(fp);
    /* ボイスプールの作成 */
    voice_pool = criAtomExVoicePool_AllocateAdxVoicePool(NULL, NULL, 0);

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

    /* 再生データを読み込んだメモリアドレスとサイズを設定 */
    criAtomExPlayer_SetData(player, mem_file, (CriSint32)filesize);
    /* 再生の開始 */
    criAtomExPlayer_Start(player);

オンメモリ再生の手順は次のようになります。
  1. メモリ上に音声データ(*.adxファイルや*.hcaファイル)を読み込む
  2. criAtomExPlayer_SetData関数を使い、音声データの読み込みアドレスとサイズをプレーヤーに設定する
  3. criAtomExPlayer_Start関数で再生を開始する


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