0

あまり馴染みのないオーディオエンジンを使用しています。これは、Appleのサンプルプロジェクト(SoundEngine.cpp)から派生したエンジンです。OpenALを使用して効果音や音楽を再生しますが、AVAudioSessionCategorySoloAmbientまたはkAudioSessionCategory_SoloAmbientSoundまたは他のカテゴリでオーディオセッションを初期化する場所はどこにもありません。

私がやりたいのは、ユーザーの音楽をバックグラウンドで再生し続けることですが、カテゴリを設定するための行を挿入できる場所がどこにもありません。

基本的に、初期化コードは次のとおりです。

mDevice = alcOpenDevice(NULL);
mContext = alcCreateContext(mDevice, NULL);
alcMakeContextCurrent(mContext);

3行目は、ユーザーの音楽がフェードアウトする場所です。ファイル全体のオーディオセッションを参照する場所すらありません。何か案は?


どうやら、あなたはできません。少なくとも、私がターゲットにしているOSバージョンではそうではありません。それ以降のOSバージョンについてはよくわかりません。

4

1 に答える 1

1

OpenAL をセットアップする前に、オーディオ セッションを開始し、適切なフラグを設定する必要があります。

AudioSessionInitialize(NULL, NULL, _callback, _userdata);

UInt32 カテゴリ = kAudioSessionCategory_AmbientSound;

AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category);

中断の処理に関する情報など、詳細についてはこちらをご覧ください。

于 2011-05-19T14:28:51.417 に答える