Android MediaPlayer.start no se inicia
Todavía no he encontrado una respuesta a esto.
Tengo un archivo local (R.raw.Bob); y estoy tratando de usar MediaPlayer para reproducir el archivo.
A veces juega, a veces no. Tengo otro archivo que juega aparentemente bien cada vez.
Mi flujo de actividad es como esto: En onCreate hago lo siguiente:
MediaPlayer mBackground = MediaPlayer.create(MainAct.this, R.raw.background); mBackground.start(); // Works as expected.
Ahora en una parte diferente de la actividad tengo lo siguiente:
MediaPlayer mBob= MediaPlayer.create(MainActivity.this, R.raw.Bob); mBob.start();
Y no ocurre nada. He utilizado Log.i () y la ejecución pasa a través del código relevante, pero el archivo no se inicia.
¿Por qué MediaPlayer a veces funciona ya veces no, y hay una forma más confiable de reproducir archivos de sonido?
Pruebe esto para comenzar:
MediaPlayer mBob = MediaPlayer.create(MainActivity.this, R.raw.Bob); mBob.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(final MediaPlayer mp) { mp.start(); } });
y esto para detener:
mBob.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.stop(); } });