CRI ADX  Last Updated: 2024-03-21 14:32 p
複数の音声を再生するには?
複数の音声を再生するには以下3つの方法があります。


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

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


詳しくは、 キュー を参考にしてください。


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


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


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

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


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


/* プレーヤの作成 */
player = criAtomExPlayer_Create(NULL, NULL, 0);
/* キューIDの指定と再生開始 */
criAtomExPlayer_SetCueId(player, acb_hn, CUEID_1);
/* キューIDの指定と再生開始 */
criAtomExPlayer_SetCueId(player, acb_hn, CUEID_2);
/* キューIDの指定と再生開始 */
criAtomExPlayer_SetCueId(player, acb_hn, CUEID_3);
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
再生の開始
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
AtomExPlayerの作成
void criAtomExPlayer_SetCueId(CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, CriAtomExCueId id)
音声データのセット(キューID指定)


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


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


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


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

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


/* プレーヤ1による再生 */
player_1 = criAtomExPlayer_Create(NULL, NULL, 0);
criAtomExPlayer_SetCueId(player_1, acb_hn, CUEID_1);
/* プレーヤ2による再生 */
player_2 = criAtomExPlayer_Create(NULL, NULL, 0);
criAtomExPlayer_SetCueId(player_2, acb_hn, CUEID_2);
/* プレーヤ3による再生 */
player_3 = criAtomExPlayer_Create(NULL, NULL, 0);
criAtomExPlayer_SetCueId(player_3, acb_hn, CUEID_3);


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


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


Return:Tips