0
A
回答
0
您将不得不实施Mediaplayer的AudioFocus
。要做到这一点,你需要得到一个AudioManager
的实例。一旦你有了实例,你就可以使用requestAudioFocus
。
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) {
Log.d("AudioFocus", "Audio focus received");
return true;
} else {
Log.d("AudioFocus", "Audio focus NOT received");
return false;
}
}
AudioFocus
被分配给每个请求它的应用程序。当您的应用程序获得焦点时,它可以通过一个AudioManager.OnAudioFocusChangeListener
,它提供焦点更改发生时的回调。
如果应用程序获得音频焦点,并且另一个应用程序请求音频焦点,则重点将会提供给其他应用程序。 Android会通过OnAudioFocusChangeListener
通知您的应用程序,以便您的应用程序可以响应此更改。要接收焦点事件,您需要像这样传递AudioManager.OnAudioFocusChangeListener
的实例。
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;
}
}
};
参考文档:https://developer.android.com/guide/topics/media-apps/volume-and-earphones.html
相关问题
- 1. 其他应用播放音乐时JLayer中的音乐停止
- 2. 停止音乐应用播放音乐
- 3. 从停止播放音乐的时刻继续播放音乐
- 4. 停止的MediaPlayer当其他应用程序播放音乐
- 5. 播放,暂停,停止音乐与UIActionSheet
- 6. 停止播放YouTube视频的音乐?
- 7. 的Android TTS停止音乐播放器
- 8. 在后台播放声音提示序列暂停播放音乐并且不会被其他声音停止
- 9. 在Java中停止播放音乐
- 10. 停止/只播放背景音乐
- 11. 在鼠标上停止播放音乐
- 12. 播放/停止音乐与kivy
- 13. MPMoviePlayerController停止iPod音乐播放
- 14. 播放短音后iPod音乐将停止播放!
- 15. 音乐播放>从停止播放开始>停止播放
- 16. 悬停播放音乐?
- 17. 如何播放来自NSString的音乐
- 18. OnLongClickListener - 播放()音乐 - 止回()
- 19. 当我的应用程序启动时,来自其他应用程序的音乐停止播放
- 20. 暂停和恢复背景音乐,而其他播放之间
- 21. 在网站上导航时,音乐播放器停止播放
- 22. Android:如果其他应用播放音乐,如何停止我的应用的音乐服务。
- 23. 当iPhone收到来电时停止播放音乐?
- 24. 当其他声音文件播放时调低音量/暂停音乐
- 25. 在不停止iPhone音乐的情况下播放HTML5音频
- 26. 播放声音没有停止音乐iPhone的SDK
- 27. 如何在flash中播放其他音乐时如何停止音乐背景cs3
- 28. cordova app在后台播放音乐(iOS)
- 29. 音乐播放
- 30. 播放音乐时播放视频停止播放(例如发现)
感谢ABHI,现在我能停止音乐,但无法恢复。 – user8269038
其他应用程序必须请求音频焦点。它将被授予该应用程序。 – Abhi
我没有让你想说什么? – user8269038