私は、いくつかのアプリが起動時にプログラムによってiTunesをミュートしていることに気付きました。これはどのように達成されますか?私はバックグラウンドミュージックを持ったゲームを持っていて、iTunesを止めたり、iTunesの演奏メッセージを聞いてゲームのバックグラウンドミュージックを止めることができます。iPhone:iTunesが再生されているかどうかを検出するには?
thx、 marc。
私は、いくつかのアプリが起動時にプログラムによってiTunesをミュートしていることに気付きました。これはどのように達成されますか?私はバックグラウンドミュージックを持ったゲームを持っていて、iTunesを止めたり、iTunesの演奏メッセージを聞いてゲームのバックグラウンドミュージックを止めることができます。iPhone:iTunesが再生されているかどうかを検出するには?
thx、 marc。
あなたはそうする必要はありません。オーディオセッションを使用すると、オーディオの動作を決めることができます。から
:
オーディオセッションインターフェイスを使用すると、アプリケーションの オーディオ行動の側面を指定し、iPhone オーディオ環境内共生 にそれを設定 。あなたはこのような 自分で質問をすることから始め:
あなたのオーディオは、着信/サイレントスイッチによって消音されるようにしたいですか? オーディオがアプリケーション を正常に使用するために不可欠でない場合、答えはおそらく「はい」です。 (ユーザーが 誰賢明との会談で、あなたのゲーム を実行することができることを理解するだろう。)
あなたはiPodのオーディオはときに、オーディオ 開始再生を続行しますか?これは のバーチャルピアノに適しており、ユーザーはライブラリ内の曲に合わせて を再生できます。 しかし、iPodオーディオを停止するには 、ストリーミングラジオの場合は アプリケーションを使用してください。
は、あなたはおそらくこれが欲しい:
UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound;
AudioSessionSetProperty (
kAudioSessionProperty_AudioCategory,
sizeof (sessionCategory),
&sessionCategory
);
は、より多くの行動タイプについては、Audio Session Categoriesを確認するか、全体Audio Session Programming Guideをお読みください。
私は反対の問題がありました。私のアプリは、起動後に音のない短いビデオを再生します。これにより、バックグラウンドでiTunesミュージックの再生がミュートされました。
音楽演奏を保つために、私はapplicationDidFinishLaunchingでこれを追加します。
NSError* error;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: &error];
if (error) NSLog(@"Unable to configure Audio");