2016-12-26 7 views
1

私たちはVOIPアプリケーションを開発していますが、アクティブな通話がある間に他のアプリが音楽や何かを再生しないようにしたい(Whatsappなど)。
通常のやり方ではありますか?他のアプリが音楽を再生することを許可しない

編集1:
私たちはオブザーバーAVAudioSessionInterruptionNotificationを聴いて起動する必要があると思います。


受け入れ答えの編集2:音切れが始まる
AudioSessionもう一度だけアクティブにしてみてください。これは機能します。ありがとうございますKudoCC

+0

「アクティブコール」はシステムコールを意味しますか?またはあなたのアプリのVOIPコール?なぜあなたは 'AVAudioSessionInterruptionNotification'が動作するのを観察すると思いますか? – KudoCC

+0

これはVOIPコールです(CallKit、iOS 10の機能を備えたシステムにも報告します)。通知があれば、再びAudioSessionをアクティブにし、それによってコントロールを電話オーディオ出力にすることができます。しかし、私はそれを試して、それは動作しません。 – ondermerol

+0

あなたのアプリは 'AVAudioSessionCategoryPlayAndRecord'カテゴリを使用していますか?オーディオの再生/録音中にオーディオセッションを再びアクティブにしようとすることができます。オーディオセッションを正常にアクティブにすると、他のアプリケーションの再生が停止します。 – KudoCC

答えて

1

を参照してくださいaudio categoryについてのリンク会談で、表には、それにあります: enter image description here

のアプリがVoIPをサポートしているため、それを再生するために必要とレコードオーディオので、とあなたはミックス可能でないアプリのオーディオを中断する必要があるので、AVAudioSessionCategoryPlayAndRecordが適切なカテゴリです。また、オーディオの再生/録音中にオーディオセッションを再度アクティブにして、カテゴリが有効になるようにする必要があります。

+0

おかげさまで、中断が始まるとAudioSessionを再度有効にします。 – ondermerol

0

は、他のアプリは、AVAudioPlayerを使用する際に呼び出し、

[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error]; 

はそれが役に立つ時にバックグラウンドオーディオを一時停止するために、あなたのアプリケーションでこのコードを試してみてください。詳細については

はここthis Link

+0

お手伝いいただきありがとうございますが、私の問題に関連していない他のアプリの音楽を再開することをアドバイスしています。 – ondermerol

関連する問題