私はサウンドを再生する必要がある運動アプリケーションを持っています。私はAVAudioPlayerを使ってサウンドを再生します。 しかし、オーディオの再生が始まると、別のアプリ(ラジオストリーミングアプリ)のバックグラウンドミュージックが停止します。iOS AVAudioPlayerは他のアプリのバックグラウンドミュージックを停止します
どうすればBGMを中断させることができますか?私は運動をしながら音楽を聴くようにしたいからです。
ありがとうございます。
私はサウンドを再生する必要がある運動アプリケーションを持っています。私はAVAudioPlayerを使ってサウンドを再生します。 しかし、オーディオの再生が始まると、別のアプリ(ラジオストリーミングアプリ)のバックグラウンドミュージックが停止します。iOS AVAudioPlayerは他のアプリのバックグラウンドミュージックを停止します
どうすればBGMを中断させることができますか?私は運動をしながら音楽を聴くようにしたいからです。
ありがとうございます。
あなたはAVAudioPlayerを使用して、次のコードを使用することができます:あなたは、デリゲートを設定したい場合は、このコード行を追加することができます
// Set AudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error:&sessionError];
:こちらをSujithPtの回答に基づいて
[[AVAudioSession sharedInstance] setDelegate:self];
本当にデリゲートを設定する必要がありますか?カテゴリを設定するだけで十分です。 –
私はコードをテストしており、setCategoryの呼び出しのみが必要です。それに応じてサンプルコードを変更しました。 –
他のアプリからのオーディオをバックグラウンドで再生すると、アプリがクラッシュし、「必須条件はfalseです:_engine-> IsRunning()」という理由でクラッシュします。これはその問題を解決しました。 – vikzilla
素早く同じことです:
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil)
私の場合、私はバックグラウンドオーディオを私のアプリで再生されるサウンドはアラートに似ています。スウィフト2.2
- (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];
}
、あなたがプレイする前にこのどこかを追加したり、preparetoplay:
_ = try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
[iPhone AVAudioPlayerは、BGMを停止]の可能な重複(http://stackoverflow.com/questions私はこれを使用します/ 1672602/iphone-avaudioplayer-stopping-background-music) – benzado
別の種類のオーディオセッションを使用する必要があります – bkbeachlabs