私のアプリケーションでは、クリックすると音楽を再生している他のすべてのアプリケーションを停止するボタンを作ろうとしています。私が望むのは、1人の音楽プレーヤーで音楽を再生していて、2番目の音楽プレーヤーで他の音楽を再生しようとすると、現在の音楽プレーヤーが停止してから2番目の音楽プレーヤーが起動します。現在のアクティビティ/アプリから音楽を再生する他のアプリを停止するにはどうすればよいですか?現在のアクティビティから音楽を再生している他のアプリを停止するにはどうすればよいですか?
14
A
答えて
33
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
// Request audio focus for playback
int result = am.requestAudioFocus(focusChangeListener,
// Use the music stream.
AudioManager.STREAM_MUSIC,
// Request permanent focus.
AudioManager.AUDIOFOCUS_GAIN);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
// other app had stopped playing song now , so u can do u stuff now .
}
オーディオフォーカスはそれを要求し、各アプリケーションに順番に割り当てられます。これは、別の アプリケーションがオーディオフォーカスを要求する場合、を意味し、アプリケーションはそれを失います。あなたはオーディオフォーカスの変更リスナーのonAudioFocusChangeハンドラを介して
private OnAudioFocusChangeListener focusChangeListener =
new OnAudioFocusChangeListener() {
public void onAudioFocusChange(int focusChange) {
AudioManager am =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
switch (focusChange) {
case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) :
// Lower the volume while ducking.
mediaPlayer.setVolume(0.2f, 0.2f);
break;
case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) :
pause();
break;
case (AudioManager.AUDIOFOCUS_LOSS) :
stop();
ComponentName component =new ComponentName(AudioPlayerActivity.this,MediaControlReceiver.class);
am.unregisterMediaButtonEventReceiver(component);
break;
case (AudioManager.AUDIOFOCUS_GAIN) :
// Return the volume to normal and resume if paused.
mediaPlayer.setVolume(1f, 1f);
mediaPlayer.start();
break;
default: break;
}
}
};
3
現在地ドキュメントで見つかったメディアプレーヤー、オーディオフォーカスの実装を使用する必要があります。
http://developer.android.com/guide/topics/media/mediaplayer.html#audiofocus
関連する問題
- 1. 他のアプリで音楽を再生すると、JLayerの音楽が停止する
- 2. MacでSwiftで現在再生中の音楽を一時停止する
- 3. ユーザーが他のアプリから音楽を再生しているかどうかを検出する
- 4. 他のアプリからの音楽の再生がアプリの起動時に停止する
- 5. 現在再生されているLibgdxの停止音と新しい音を再生します
- 6. Backroundで私の活動音楽から音楽を再生するときに停止しませんか?
- 7. アプリから音楽を再生しながらXcodeで音を再生する
- 8. AndroidでMediaPlayerを使用して他のアクティビティで再生音を停止する
- 9. スイッチボタンで背景音楽をすばやく停止するにはどうすればよいですか?
- 10. vlcモジュールによる音楽の再生を停止しますか?
- 11. 現在の音声が再生されているときに他のすべての音声が停止し、同じボタンで一時停止する方法
- 12. Android、htmlページで音の再生を停止するにはどうすればよいですか?
- 13. Android(Java)でバックグラウンドで再生するすべての音楽を停止するにはどうすればよいですか?
- 14. 音楽が他のアプリで再生されているときにアプリで何かをする
- 15. iPhoneアプリ - 起動時に他のアプリの音楽プレーヤーを停止
- 16. IOSで他の音楽が一時停止しているかどうかを検出しますか?
- 17. 音楽を再生するネイティブアンドロイドサービスを停止する方法
- 18. 新しいアクティビティをクリックしたときに音楽を停止し、最初からやり直すにはどうすればいいですか?
- 19. バックグラウンドでの音楽の再生を停止するにはどうすればよいですか? (反応するネイティブサウンド)
- 20. 音楽プレーヤーのアプリで音楽を再生できない
- 21. 他のアプリのサウンドが再生されているときに音声録音が停止する
- 22. アンドロイドの音楽プレーヤーのサムネイル再生リストを作成するにはどうすればよいですか?
- 23. ウェブページの演習で音楽を自動再生するにはどうすればよいですか?
- 24. 音楽の再生中にProgressBarスピナーを表示するにはどうすればよいですか?
- 25. 音声シンセサイザーを停止するにはどうすればいいですか?
- 26. iOSデバイスで音楽をプログラム的に再生させるにはどうすればよいですか?
- 27. 他のアプリが音楽を再生することを許可しない
- 28. アンドロイドで最近一時停止したアクティビティを再開するにはどうすればよいですか?
- 29. 現在の再生曲を停止して次の曲を再生するにはどうしたらいいですか?
- 30. ナビゲーション中にサウンドクラウドで音楽を再生するにはどうすればいいですか?
非常に素晴らしく、詳細な回答をオーディオフォーカスを要求するときに登録 オーディオフォーカスの損失のお知らせ機能編となります。 –
ここにMediaControlReceiver.classクラスは何ですか? –