Java 用按钮持续降低媒体音量
当检测到“OnLongClickEvent”时,我想降低(或提高)应用程序中的媒体音量 以下是我的资料来源:Java 用按钮持续降低媒体音量,java,android,events,button,listener,Java,Android,Events,Button,Listener,当检测到“OnLongClickEvent”时,我想降低(或提高)应用程序中的媒体音量 以下是我的资料来源: buttongauche.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { playSound(R.raw.volumevoixdiminue);
buttongauche.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
playSound(R.raw.volumevoixdiminue);
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,AudioManager.FLAG_SHOW_UI);
return true;
}
});
事实上,这是工作:当我长按我的“buttongauche”时,音量会减少1。
现在我想知道,如果我想连续降低声音(例如,当按钮按下时,每2秒降低1声),我该怎么做
我的按钮“buttongauche”已经有一个“onClickEvent”,它可以做其他事情(更改菜单的索引)
谢谢声明字段
布尔触摸=false
表示您是否正在触摸该按钮,并使用OnTouchListener
对其进行更改。开始触摸时,也会启动volumeThread
,每1秒降低一次音量,停止触摸时音量消失
buttongauche.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
touching = true;
Thread volumeThread = new Thread() {
public void run() {
while (touching) {
audio.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FLAG_SHOW_UI);
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
volumeThread.start();
break;
case MotionEvent.ACTION_UP:
touching = false;
break;
}
return false;
}
});