体积变化监听器? [英] Volume change listener?
问题描述
有没有什么办法来监听与Android的业务量的变化和反应?
Is there any way to listen for volume changes with an Android service and react to that?
BTW:?如何在谷歌音乐应用程序,允许用户控制甚至当音乐在后台播放媒体的音量
Btw: How does the Google music app allow the user to control the media volume even when the music is playing in the background?
推荐答案
查看 registerMediaButtonEventReceiver(组件名BroadcastReceiver的);
定义的BroadcastReceiver
处理 ACTION_MEDIA_BUTTON
。的:收到意图
包括一个额外的字段, EXTRA_KEY_EVENT
,包含导致广播的关键事件。您可以使用此按键事件得到其中的关键是pressed。
Define a BroadcastReceiver
that handles ACTION_MEDIA_BUTTON
. The recieved intent
includes a single extra field, EXTRA_KEY_EVENT
, containing the key event that caused the broadcast. You can use this key event to get which key was pressed.
编辑:
这仅仅是一个样品code。语法错误可能会出现。
This is just a sample code. syntax errors may be there.
// in onCreate of activity
registerMediaButtonEventReceiver(mediaReceiver );
// later somewhere in activity.
MediaButton_Receiver mediaReceiver = new MediaButton_Receiver();
class MediaButton_Receiver implements BroadcastReceiver {
void onReceive(Intent intent) {
KeyEvent ke = (KeyEvent)intent.getExtra(Intent.EXTRA_KEY_EVENT);
if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
}
// Similarly other key codes .......
}
}
注销在接收器的onPause()
或的onStop()
这篇关于体积变化监听器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!