CRI ADX  Last Updated: 2024-09-25 17:41 p
マルチチャンネル再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/playback_multi_ch

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

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

サンプルの解説

ボイスが出力可能なチャンネル数は、ボイスプール作成時に指定します。


デフォルト設定では、ボイスプール作成パラメーター( CriAtomExHcaVoicePoolConfig )は、2チャンネル(ステレオ)出力に対応したボイスを生成するようになっています。
例えば、5.1ch(6ch)のキューを再生するには、これを変更する必要があります。
以下、ボイスが出力可能なチャンネル数を設定するコードを示します。
CriAtomExVoicePoolHn hcavoice_pool;
/* ボイスプール作成パラメーターをデフォルト値で初期化 */
/* 再生可能チャンネル数を変更 */
vp_config.player_config.max_channels = 6;
/* 変更したハンドル作成パラメーターを渡してボイスプールを作成 */
hcavoice_pool = criAtomExVoicePool_AllocateHcaVoicePool(&vp_config, NULL, 0);
/* プレーヤーの作成 */
player = criAtomExPlayer_Create(NULL, NULL, 0);
/* キューIDの指定 */
criAtomExPlayer_SetCueId(player, acb_hn, CRI_ATOMCUESHEET__6CH);
/* 再生の開始 */
CriAtomExAcbObj * CriAtomExAcbHn
ACBハンドル
Definition: cri_le_atom_ex.h:3037
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
再生の開始
CriAtomExPlayerObj * CriAtomExPlayerHn
プレーヤーハンドル
Definition: cri_le_atom_ex.h:3628
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
AtomExPlayerの作成
void criAtomExPlayer_SetCueId(CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, CriAtomExCueId id)
音声データのセット(キューID指定)
#define criAtomExVoicePool_SetDefaultConfigForHcaVoicePool(p_config)
HCAボイスプール作成用コンフィグ構造体にデフォルト値をセット
Definition: cri_le_atom_ex.h:603
struct CriAtomExVoicePoolTag * CriAtomExVoicePoolHn
ボイスプールハンドル
Definition: cri_le_atom_ex.h:3224
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateHcaVoicePool(const CriAtomExHcaVoicePoolConfig *config, void *work, CriSint32 work_size)
HCAボイスプールの作成
HCAボイスプール作成用コンフィグ構造体
Definition: cri_le_atom_ex.h:3303
CriAtomHcaPlayerConfig player_config
Definition: cri_le_atom_ex.h:3306
CriSint32 max_channels
最大出力チャンネル数
Definition: cri_le_atom.h:1734


チャンネル数が多くなるとボイスプールで使用するワークサイズも増加します。
マルチチャンネル用ボイスプールとステレオまでのキュー再生用ボイスプールを作り分けることで、消費ワークサイズが極端に大きくならないように調整してください。


また、上記のコードはHCAボイスプールについての例ですが、 ADXに対応する場合は、単に「Hca」を「Adx」に変更するだけです。