如何通过onTouch播放声音并在手指向上时停止

时间:2014-04-04 11:22:10

标签: android ontouchlistener

当我触摸Image时,媒体播放器启动但是从该图像中移除fingure,媒体播放器确实停止。请帮助我们。

iv.setOnTouchListener(本); mp1 = MediaPlayer.create(getApplicationContext(),R.raw.air);

@Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub

        switch (event.getAction()) 
        {
        case MotionEvent.ACTION_DOWN:

            mp1 = MediaPlayer.create(getApplicationContext(), R.raw.airhorn_1);
            mp1.start();
            mp1.setLooping(true);
            mp1.setOnCompletionListener(new OnCompletionListener() {

                public void onCompletion(MediaPlayer mp1) {
                    // TODO Auto-generated method stub
                    mp1.release();
                }
            });

            Log.i("Action", "Down");
            break;

        case MotionEvent.ACTION_MOVE:
            Log.i("Action", "Move");


            Log.i("On Long", "On Long");

            break;

        case MotionEvent.ACTION_CANCEL:

            mp1.pause();

            Log.i("Action", "Cancel");
            break;

        case MotionEvent.ACTION_UP:

            mp1.pause();
            //mp1.stop();
            Log.i("Action", "up");
            break;

        default:
            break;
        }
        return true;
    }

1 个答案:

答案 0 :(得分:0)

public void onTouch(View v) {
            if (mp.isPlaying()) {
                mp.stop();
            } else {
                mp.start();
            }

如果媒体播放器正在播放,这将检查您何时触摸ImageView,如果是,它将停止它,如果不是它将启动它。有了这个,你就不需要使用开关盒。

请务必在此之前设置媒体播放器。