2010-06-15 13 views
23

¿Cómo configuro un perfil de audio para reproducirlo cuando un usuario toca una imagen?Android: Reproducción de un clip de audio enHaga clic en

¿Dónde debo almacenar el archivo de audio y qué código debo usar para reproducir el archivo? No quiero abrir la interfaz de MediaPlayer ni nada de eso.

estaba pensando en hacerlo de esta manera:

foo = (ImageView)this.findViewById(R.id.foo); 
    foo.setOnClickListener(this); 

public void onClick(View v) { 
if (foo.isTouched()) { 

playAudioFile(); 
    } 
} 

Gracias

+1

Como se describe en la respuesta a continuación, poner 'my_sound.mp3' en' res/raw/'y luego hacer referencia a través de' R.raw.my_sound'. Sin embargo, entonces tiene dos opciones: 'MediaPlayer' y' SoundPool'. Para una gestión de memoria eficiente, debe usar una biblioteca para trabajar con esas clases: https://github.com/delight-im/Android-Audio – caw

Respuesta

52

Esto no va a crear un activar la interfaz MediaPlayer ... sólo se reproducirá el sonido que desea.

Button boton = (Button) findViewById(R.id.boton); 
boton.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
    MediaPlayer mp = MediaPlayer.create(TestSonido.this, R.raw.slayer); 
    mp.start(); 
} 
}); 

En este caso, R.raw.slayer representa un archivo de audio llamada slayer.mp3 que se almacena en la carpeta res/raw/ y una vez que haga clic en el botón al androide will rock you ...

+0

¿Qué pasará si hago clic en el botón dos veces antes de completar el clip de audio anterior, entonces creo que reproducirá audio dual? – Jay

Cuestiones relacionadas