Beispiel #1
0
/*初期化*/
SoundsManager::SoundsManager()
{
	/* エラーコールバック関数の登録 */
	criErr_SetCallback(user_error_callback_func);

	/* メモリアロケータの登録 */
	criAtomEx_SetUserAllocator(user_alloc_func, user_free_func, NULL);
	

	/*ライブラリの初期化*/
	criAtomEx_Initialize_WASAPI(NULL, NULL, 0);

	/* ストリーミング用バッファの作成 */
	dbas = criAtomDbas_Create(NULL, NULL, 0);

	/* 全体設定ファイルの登録 */
	//criAtomEx_RegisterAcfFile(NULL, PATH ACF_FILE, NULL, 0);
	criAtomEx_RegisterAcfFile(NULL, ACF_FILE, NULL, 0);

	/* DSPバス設定の登録 */
	criAtomEx_AttachDspBusSetting("DspBusSetting_0", NULL, 0);


	/* ボイスプールの作成(ストリーム再生対応) */
	criAtomExVoicePool_SetDefaultConfigForStandardVoicePool(&vpconfig);
	vpconfig.player_config.streaming_flag = CRI_TRUE;
	voice_pool = criAtomExVoicePool_AllocateStandardVoicePool(&vpconfig, NULL, 0);
	/* MEMO: ストリーム再生無しなら、ボイスプールは構造体NULL指定で可 */



	/* サウンドデータの読み込み */
	//CriFsBinderHn awb_binder;
//	acb_hn = criAtomExAcb_LoadAcbFile(NULL, SE_ACB_FILE, AWB_FILE, NULL, NULL, 0);
	acb_hn = criAtomExAcb_LoadAcbFile(NULL, ACB_FILE, NULL, AWB_FILE, NULL, 0);

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



	int a = 0;
	a++;
}
HelloWorld::HelloWorld() : _cue(nullptr)
{
    CriAtomExStandardVoicePoolConfig vp_config;
    criAtomExVoicePool_SetDefaultConfigForStandardVoicePool(&vp_config);
    vp_config.num_voices = 8;
    vp_config.player_config.streaming_flag = CRI_TRUE;
    vp_config.player_config.max_sampling_rate = 48000 << 1;
    
    CriAtomExPlayerConfig pf_config;
    criAtomExPlayer_SetDefaultConfig(&pf_config);
    pf_config.max_path_strings = 1;
    pf_config.max_path = 256;

    /* ADX2 Atomライブラリの初期化。内部的に多重初期化は回避している */
    ADX2::Manager::initialize(pf_config, vp_config);
    
    auto cue = ADX2::Cue::create("ADX2_samples.acf", "Basic.acb", "Basic.awb");
    this->setCue(cue);
}