Android twee geluiden bij het indrukken van de knop

Ik probeer twee geluiden te gebruiken wanneer ik op de knop druk: één geluid wanneer de knop wordt ingedrukt en een andere wanneer de knop wordt losgelaten. Hoe kan ik dit bereiken?

Ik speel momenteel een geluid wanneer op een knop wordt geklikt:

    button.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {

            mp = MediaPlayer.create(Test.this, R.raw.mysound);   
            mp.start();
            mp.setOnCompletionListener(new OnCompletionListener() {

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

            });
        }

    });
1
U moet zelf onTouch gebruiken om te detecteren wanneer de knop wordt losgelaten.
toegevoegd de auteur K-ballo, de bron

1 antwoord

Probeer een OnTouchListener te gebruiken:

public boolean onTouch(View v, MotionEvent ev) {
    int action = ev.getAction() & MotionEvent.ACTION_MASK;
    if (action == MotionEvent.ACTION_DOWN) {
       //Play "click" sound
    } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
       //Play "unclick" sound
    }
}

U kunt dit koppelen aan een OnTouchListener met behulp van setOnTouchListener() op dezelfde manier als waarop u hebt aangetoond met de OnClickListener die u al hebt.

2
toegevoegd