M0286_Libro Curso

2: Avanzado en Android

Pasemos al código. Debemos rellenar la actividad Audio , declarando un campo llamado mp que almacenará una instancia de la clase MediaPlayer . En nuestra aplicación tendremos activa una MediaPlayer : package com.seas.ejemplo.audio; import android.app.Activity; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; public class Audio extends Activity { private MediaPlayer mp; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout. main ); setVolumeControlStream(AudioManager. STREAM_MUSIC ); } } Con el método setVolumeControlStream() le vamos a indicar a Android, que mientras nuestra aplicación se esté ejecutando, cuando el usuario pulse la tecla de subir o bajar el volumen, se ajuste el volumen multimedia u otros medios en vez de hacerlo para el timbre del teléfono. Ahora debemos de interceptar cada pulsación de tecla y reproducir el sonido elegido para ello. Debemos modificar el método Activity.onKeyDown() añadiendo el siguiente código en nuestra clase Audio : @Override public boolean onKeyDown(int keyCode, KeyEvent event) { int resId; switch (keyCode) { case KeyEvent. KEYCODE_DPAD_UP : resId = R.raw. up ; break; case KeyEvent. KEYCODE_DPAD_DOWN : resId = R.raw. down ; break; case KeyEvent. KEYCODE_DPAD_LEFT : resId = R.raw. left ; break; case KeyEvent. KEYCODE_DPAD_RIGHT : resId = R.raw. right ; break; case KeyEvent. KEYCODE_DPAD_CENTER : case KeyEvent. KEYCODE_ENTER : resId = R.raw. enter ; break;

117

Made with FlippingBook - Online catalogs