我在setontouchLister中遇到问题我在点击一个按钮时尝试播放10秒的剪辑,当我从中移开手指时它应该停止... 我已经尝试但是在触摸它播放并且永远不会停止直到时间结束,即10秒过来请帮助!! 这是我的代码
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.m_b);
mp = MediaPlayer.create(MainActivity.this, R.raw.gm);
btn.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction() & MotionEvent.ACTION_MASK;
if (action == MotionEvent.ACTION_DOWN ) {
mp.start();
return true;
}
return true;
}
});
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
mp.release();
finish();
}
答案 0 :(得分:0)
尝试:
if (action == MotionEvent.ACTION_DOWN ) {
mp.start();
return true;
}
else if (action == MotionEvent.ACTION_UP ) {
mp.stop();
return true;
}
答案 1 :(得分:0)
您只需在触控侦听器发送ACTION_UP事件时停止。
if (action == MotionEvent.ACTION_UP ) {
mp.stop();
return true;
}