Esta clase se utiliza para la reproducción de audio y vídeo en Java. Entre sus pros, destaca la posibilidad de reproducir archivos de gran tamaño y en numerosos formatos. En contra, que consume muchos recursos del dispositivo y es recomendable lanzarla desde un nuevo THEARD o un RUNNABLE dentro de su ACTIVITY. Más información en Android Devolupers.
Este es el código básico para activar la clase desde un botón con su evento OnClick llamado Play:
Mediaplayer mediaplayer;
...
//dentro de onCreate
//el evento Onclick se programa en el XML del botón
public void Play ( View view ) {
mediaplayer = Mediaplayer.create(this, R.raw."nombre_archivo_audio");
mediaplayer.star();
}
-Si lo queremos es paralo, este es el código para un botón de stop con su evento llamado Stop:
public void Stop ( View view ) {
mediaplayer.stop();
mediaplayer.release();
}
Salu2!!
Lo probaré para ver si es lo que busco. Estoy haciendo un vocabulario en árabe y quiero añadir un botón que reproduzca como se dice. ¿Sabes si me servirá este código? Soy novato y aún me faltan muchas cosas por aprender.
ResponderEliminarUn saludo.
Hola, he actualizado el código. Espero que sirva. Si tienes problema con él, dímelo. Saludos
EliminarJ.Lopez disculpa yo tengo un problema al momento de reproducir un sonido. lo que pasa es que manejo mas de un boton con sonido y cuando esta reproduciendo uno y presiono otro se reproducen al mismo tiempo no se como hacer que al momento de que entre el otro sonido se detenga el anterior.
Eliminarel codigo que estoy usando esta asi:
b2=(Button)findViewById(R.id.btn2);
at = MediaPlayer.create(this, R.raw.atencion);
b2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick (View v) {
at.start();
};
});
b3=(Button)findViewById(R.id.button3);
al = MediaPlayer.create(this, alarma);
b3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick (View v) {
al.start();
};
});
espero puedas ayudarme
Puedes usar setEnable para inhabilitar botones, o usar togglebuttons con sus if\else, o if(al.isPlaying) at pare o el boton de at no funcione. Espero ayudar
Eliminarhola, puedes ayudarme, quiero hacer un piano, pero cuando presiono el boton me suena toodo el sonido, solo quiero que suene hasta que e usuario levante el dedo, intente con soundpool pero no funciona..
ResponderEliminarpublic class MainActivity extends AppCompatActivity {
ImageButton imTecla29,imTecla30;
private SoundPool soundPool;
private int sonTecla29, sonTecla30;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//ORIENTACION
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
imTecla29=(ImageButton)findViewById(R.id.tecla1);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
soundPool =new SoundPool.Builder().setMaxStreams(5).build();
}else {
soundPool= new SoundPool(5, AudioManager.STREAM_MUSIC,0);
}
sonTecla29=soundPool.load(this, R.raw.acor29,1);
imTecla29.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction()==MotionEvent.ACTION_DOWN){
soundPool.play(sonTecla29,1,1,0,0,0);
}else if(motionEvent.getAction()== MotionEvent.ACTION_UP)
soundPool.stop();
return false;
}
});