複数の音声を再生するには?

複数の音声を再生するには以下3つの方法があります。

複数の音を1つのキューにまとめて再生する

CRI Atom Craftでは、1つのキューに複数の音声波形データを入力することができます。
時間軸上、重ならないように順番に再生するデータを作成できます。
また、複数トラック作成し、時間軸上同時に複数の音声を再生するデータも作成できます。

詳しくは、criatom_tools_tut_mtrkを参考にしてください。

メリット

・デザイナの意図としたタイミングやバランスで再生できます。
・プログラムは非常に単純で、1つのキューに対して再生を指示するだけです。

デメリット

・意図通りに再生できなかった場合、データ制作まで立ち返って調整する必要があります。
(ただし、CRI Atom Craftでプレビューしながら調整できるので、プログラマに渡してから再調整することは少ないです。)

1つのプレーヤに対して複数再生リクエストする

1つのAtomExプレーヤで複数の再生リクエストを実行することができます。

具体的には、以下のコードになります。

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

    /* キューIDの指定と再生開始 */
    criAtomExPlayer_SetCueId(player, acb_hn, CUEID_1);
    criAtomExPlayer_Start(player);

    /* キューIDの指定と再生開始 */
    criAtomExPlayer_SetCueId(player, acb_hn, CUEID_2);
    criAtomExPlayer_Start(player);

    /* キューIDの指定と再生開始 */
    criAtomExPlayer_SetCueId(player, acb_hn, CUEID_3);
    criAtomExPlayer_Start(player);

詳細については、サンプルプログラム「キューID再生」を参考にしてください。

メリット

・再生タイミングの変更やパラメーターの調整など、プログラムで自由にできます。

デメリット

・プレーヤが1つなので、各音に対する再生中の制御はできません。

複数のプレーヤを作成してそれぞれに再生リクエストする

具体的には、以下のコードになります。

    /* プレーヤ1による再生 */
    player_1 = criAtomExPlayer_Create(NULL, NULL, 0);
    criAtomExPlayer_SetCueId(player_1, acb_hn, CUEID_1);
    criAtomExPlayer_Start(player_1);

    /* プレーヤ2による再生 */
    player_2 = criAtomExPlayer_Create(NULL, NULL, 0);
    criAtomExPlayer_SetCueId(player_2, acb_hn, CUEID_2);
    criAtomExPlayer_Start(player_2);

    /* プレーヤ3による再生 */
    player_3 = criAtomExPlayer_Create(NULL, NULL, 0);
    criAtomExPlayer_SetCueId(player_3, acb_hn, CUEID_3);
    criAtomExPlayer_Start(player_3);

メリット

・再生タイミングの変更やパラメーターの調整など、プログラムで自由にできます。
・各音に対する再生中の制御が可能です。

デメリット

・複数のプレーヤを管理するので、プログラムが複雑になります。

Return:Tips

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