如何捕获该量已被更改?

时间:2012-08-12 20:45:11

标签: android

我使用SeekBar来设置音量。我做了以下事情:

  1. 我按getStreamVolume()获取当前音量,并按SeekBar将其传递给setProgress()元素。
  2. 我通过SeekBar收听来自onStopTrackingTouch()元素的消息,并按setStreamVolume()设置音量。 有用。
  3. 但是用户可以通过硬件音量控制来改变音量。我想抓住它并适当地更改SeekBar指针位置。我该怎么做?

1 个答案:

答案 0 :(得分:0)

尝试以下

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
  if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
    //set your SeekBar  
    return true;
  }

 return super.onKeyDown(keyCode, event);
}

biegleux指出的问题/答案仅适用于连接耳机上的“媒体键”,而不适用于手机本身的硬件音量增大/减小键。