【问题标题】:How to catch that volume was changed?如何赶上那个卷被改变了?
【发布时间】:2012-08-12 20:45:11
【问题描述】:

我使用SeekBar 设置音量。我执行以下操作:

  1. 我通过getStreamVolume() 获取当前音量,并通过setProgress() 将其传递给SeekBar 元素。
  2. 我通过onStopTrackingTouch() 收听来自SeekBar 元素的消息,并通过setStreamVolume() 设置音量。 有用。

但用户可以通过硬件音量控制来改变音量。我想抓住它并适当地更改SeekBar 指针位置。我该怎么做?

【问题讨论】:

标签: android


【解决方案1】:

试试下面的

@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 指出的问题/答案仅针对所连接耳机上的“媒体键”,而不针对手机本身的硬件音量增大/减小键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    相关资源
    最近更新 更多