Cómo jugar ringtone una vez a través de MediaPlayer?

No puedo reproducir un tono de llamada una vez, incluso si la propiedad de bucle de mediaplayer está establecida en false. Parece que esta propiedad fue anulada por el ringtone URI utilizado. Así que onCompletion nunca se dispara.

Curiosamente, si el URI corresponde a un tono de notificación, el bucle se comporta de acuerdo con setLooping . Funciona bien aquí.

Así que hay una manera de reproducir un tono de llamada una vez?

One Solution collect form web for “Cómo jugar ringtone una vez a través de MediaPlayer?”

Me enfrenté a este problema antes y lo resolvió mediante OnSeekCompleteListener:

mMediaPlayer.setOnSeekCompleteListener(new OnSeekCompleteListener() { public void onSeekComplete(MediaPlayer mp) { //Your stuff }});

No sé si es la mejor manera de resolver esto, pero funcionó para mí.

Edit: BTW, yo uso ambos oyentes, oncompletionlistener Y onseekcompletelistener. ¡Espero que esto ayude!

  • Empieza whatsapp con android.content.Intent.ACTION_SENDTO
  • Puedo obtener el ancho de archivo de imagen y la altura de uri en android?
  • Intellij Android esquema de proyecto ¿URI no está registrado?
  • ¿por qué java.net.UnknownHostException: Host no está resuelto: webservername.com:80?
  • Poner una imagen grande en un ImageView no funciona
  • Android Wear elimina datos de DataApi con deleteDataItems
  • ¿Cómo obtener el tono de llamada actual en Android?
  • Actividad de captura de cámara Android devuelve null Uri
  • Cómo obtener la ruta del archivo de la imagen de URI en Android Lollipop?
  • ENOENT (ningún archivo o directorio) cuando hay un archivo allí
  • ¿Cómo puedo verificar que la imagen URI es válida en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.