在我的應用程序中,我試圖製作一個按鈕,點擊時會停止播放音樂的所有其他應用程序。我想要的是,如果我通過一個音樂播放器播放音樂,並且如果我嘗試通過另一個音樂播放器播放其他音樂,則當前音樂播放器停止,然後第二個音樂播放器開始播放。我們如何阻止其他應用程序播放當前活動/應用程序中的音樂?如何阻止其他應用程序播放當前活動中的音樂?
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 .
}
音頻焦點依次分配給每個請求它應用。這意味着如果另一個 應用程序請求音頻焦點,您的應用程序將失去它。請求將音頻
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. 停止的MediaPlayer當其他應用程序播放音樂
- 2. 其他應用播放音樂時JLayer中的音樂停止
- 3. 如何阻止音樂播放?
- 4. 當我的應用程序啓動時,來自其他應用程序的音樂停止播放
- 5. 停止音樂應用播放音樂
- 6. 在多個活動應用程序中處理音樂播放
- 7. 啓動應用程序時,iPod音樂應該停止播放
- 8. 阻止其他聲音/音樂
- 9. 音樂播放器活動
- 10. 在應用程序中播放音樂
- 11. Android:如果其他應用播放音樂,如何停止我的應用的音樂服務。
- 12. 如何在應用程序的所有活動中播放音樂?
- 13. Android應用程序暫停/恢復其他音樂播放器應用程序的音樂
- 14. 如何播放不會阻止iTunes或其他音樂播放器的聲音報警或soundeffect?
- 15. 如何停止當前的音樂和播放新的
- 16. 如何在Android應用播放音樂時關閉所有其他音樂?
- 17. 如何知道其他音樂播放器應用程序在android中以編程方式在Android中播放
- 18. 當音樂在其他應用程序中播放時,在應用程序中執行某些操作
- 19. 如何從iTunes庫中的應用程序中播放音樂?
- 20. 無法讓音樂播放到我的音樂播放器應用程序
- 21. iOS支持從其他音樂應用程序返回後播放音頻
- 22. iOS 9在靜音模式下播放音頻,但保持其他應用程序的音樂播放運行
- 23. 如何在ios6中播放鬧鐘應用程序的音樂?
- 24. iOS:在播放其他應用程序時播放聲音
- 25. 播放音樂的所有活動
- 26. 從停止播放音樂的時刻繼續播放音樂
- 27. 如何在ios應用程序中播放soundcloud音樂?
- 28. iPhone:如何讓音樂播放使用OpenAL的應用程序?
- 29. 如何停止其他應用程序播放的背景音頻?
- 30. 媒體播放器流媒體,當退出應用程序音樂應停止
非常好,詳細的解答時,您將成爲 音頻焦點損失的通知作業人員ED通過音頻焦點變化監聽的onAudioFocusChange處理你 註冊。 – 2013-11-01 03:19:12
什麼是MediaControlReceiver.class類? – 2017-02-22 14:36:42