19

サウンドを再生する必要があるエクササイズ アプリがあります。AVAudioPlayer を使用してサウンドを再生します。ただし、オーディオの再生が開始されると、別のアプリ (ラジオ ストリーミング アプリ) の BGM がシャットダウンされます。

バックグラウンドミュージックを中断しないようにするにはどうすればよいですか? 運動しながら音楽を聴いてもらいたいからです。

ありがとうございました。

4

5 に答える 5

26

AVAudioPlayer を使用する場合は、次のコードを使用できます。

    // Set AudioSession
    NSError *sessionError = nil;
   [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&sessionError];
   [[AVAudioSession sharedInstance] setActive:YES error:&sessionError];

デリゲートを設定する場合は、次のコード行を追加できます。

   [[AVAudioSession sharedInstance] setDelegate:self];
于 2012-07-12T04:20:34.657 に答える
7

私の場合、アプリで再生されるサウンドはアラートに似ているため、バックグラウンド オーディオをより低い音量で再生したいと考えました。私はこれを使用します:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // prevents our app from stopping other audio,
    // e.g. music, podcats, etc. that may be playing when launched
    // our audio will be played at a higher volume
    // and the background audio will "duck" until done
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryMultiRoute 
                                     withOptions:AVAudioSessionCategoryOptionDuckOthers
                                           error:nil];
}
于 2015-05-17T15:17:26.163 に答える
6

ここでのSujithPtの回答に基づいて、迅速に同じことができます:

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil)
于 2015-03-03T16:37:29.437 に答える
1

Swift 2.2 の場合、プレイする前またはプレイの準備をする前に、これを任意の場所に追加します。

_ = try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
于 2016-05-10T15:55:53.417 に答える