7

一部のアプリは、起動時に iTunes をプログラムでミュートする (実行中の場合) ことに気付きました。これはどのように達成されますか?バックグラウンド ミュージックのあるゲームがあり、ゲームのバックグラウンド ミュージックを停止できるように、iTunes を停止するか、少なくとも iTunes が再生されているというメッセージを取得したいと考えています。

thx、マーク。

4

2 に答える 2

8

その必要はありません。Audio Session を使用すると、オーディオの動作を決定できます。

Audio Session Programming Guideから:

オーディオ セッション インターフェイスを使用して、アプリケーションのオーディオ動作の側面を指定し、iPhone オーディオ環境内で調和して動作するように構成します。次のような質問を自問することから始めます。

  • 着信音/サイレント スイッチで音声をミュートしますか? アプリケーションを正常に使用するためにオーディオが不可欠でない場合、答えはおそらく「はい」です。(ユーザーは、誰も賢くない会議でゲームを実行できることを高く評価します。)

  • オーディオの開始時に iPod オーディオの再生を続けますか? これは、仮想ピアノに適している可能性があり、ユーザーはライブラリ内の曲に合わせて演奏できます。ただし、ストリーミング ラジオ アプリケーションの場合は、iPod オーディオを停止する必要があります。

おそらくこれが必要です:

UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound;
AudioSessionSetProperty (
    kAudioSessionProperty_AudioCategory,
    sizeof (sessionCategory),
    &sessionCategory
);

その他の動作タイプについては、オーディオ セッション カテゴリを確認するか、オーディオ セッション プログラミング ガイド全体をお読みください。

于 2009-05-29T15:11:24.927 に答える
0

私は反対の問題を抱えていました。私のアプリは、起動後に音声なしで短いビデオを再生します。これにより、バックグラウンドで再生されている iTunes の音楽がミュートされました。

音楽を再生し続けるために、これを applicationDidFinishLaunching に追加します。

NSError* error;
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: &error];    
    if (error) NSLog(@"Unable to configure Audio");
于 2012-07-02T22:47:56.560 に答える