1

ユーザーがImageView押している間は特定のサウンドを再生し、ユーザーがそれを止めると一時停止する必要があります。で何かをする前に、 (この時点で笑わないでください) オブジェクトでMediaPlayerテストしようとしました。Vibrator私は実装して設定しましたOnTouchListener

    @Override
public boolean onTouch(View v, MotionEvent event) {

    switch (event.getAction()) {

    case MotionEvent.ACTION_DOWN:

        vib.vibrate(50);

        break;

    case MotionEvent.ACTION_MOVE:
        /*--- no action required ---*/
        break;

    case MotionEvent.ACTION_UP:

        vib.cancel();
        break;
    }
    return false;

}

ImageViewただし、振動アクションは、長押ししても1回しか実行されません。MediaPlayerAも同じように反応すると思います。私は何を間違っていますか?

VibratorPSログは指を離した後にのみ「cancel()」になるため、プレスは正しく検出されます。

4

1 に答える 1

1

機能しているので停止です

vib.vibrate(50);

振動チェックで 50 ms の時間を設定した場合

void vibrate(long milliseconds)
Vibrate constantly for the specified period of time.

あなたのコードの残りの部分は正しいと思います。

于 2013-09-11T17:24:24.723 に答える