studio sonido reproductor reproducir repetir pulsar para musica mediaplayer fuente example ejemplo crear como codigo boton android android-mediaplayer audio ontouchlistener

reproductor - Reproducción del sonido android predeterminado de un botón, haciendo clic en el método Touch()



reproductor de musica en android studio (3)

En mi aplicación de Android tengo algunos botones, que deberían funcionar con el método onTouch () , por supuesto, necesito cambiar el texto del botón, cuando el dedo esté en la posición ACTION_DOWN. Pero estos botones deben reproducir el sonido predeterminado de Android al hacer clic en el botón (como en el método onClick ()). Donde puedo encontrar ese sonido? Creo que debe estar en SDK, pero ¿cómo puedo encontrarlo? ¿Y qué métodos son mejores para tal operación? Estoy usando MediaPlayer.

Listado:

public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: addTextShadow(v); Log.v(LOG_TAG, "ACTION_DOWN"); break; case MotionEvent.ACTION_MOVE: clearTextShadow(v); isMoved = true; Log.v(LOG_TAG, "ACTION_MOVE"); break; case MotionEvent.ACTION_UP: Log.v(LOG_TAG, "ACTION_UP"); if (!isMoved) { clearTextShadow(v); if (v.getId() == R.id.btn_new) { Log.v(LOG_TAG, "New pressed"); playSound(); //MY METHOD TO PLAY SOUND } else if (v.getId() == R.id.btn_saved) { Log.v(LOG_TAG, "Saved pressed"); } else if (v.getId() == R.id.btn_random) { Log.v(LOG_TAG, "Random pressed"); } } isMoved = false; break; } return true; }

Y mi método playSound ():

public void playSound(){ if (mp != null) { mp.release(); mp = null; } try { mp = MediaPlayer .create(MyActivity.this, R.raw.sound); //BUT HERE I NEED DEFAULT SOUND! mp.start(); } catch (Exception e) { e.printStackTrace(); } }


Considere usar view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); .

Hará las dos cosas: reproducir el sonido predeterminado y vibrar si el usuario lo tiene habilitado en la configuración global.


Use este código en su método onTouch ():

view.playSoundEffect(android.view.SoundEffectConstants.CLICK);

Si simplemente está buscando un sonido preestablecido de Android, entonces es mejor utilizar esta funcionalidad que le proporciona gratuitamente el marco. Hacer cualquier otra cosa, a menos que sea necesario para la personalización, simplemente daría como resultado que trabaje contra el marco en lugar de trabajar con él.


Use sonidos predeterminados de /system/media/audio/

MediaPlayer o SoundPool ayudarán a implementar la reproducción.