ANDROID ONTOUCH LISTENER

时间:2013-11-08 21:49:13

标签: android android-mediaplayer onclicklistener

我在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();

}

2 个答案:

答案 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;
}