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?

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!

  • ¿por qué java.net.UnknownHostException: Host no está resuelto: webservername.com:80?
  • Pausa de envío al marcador
  • Problema con URI matcher en Android
  • Uri a la notificación de sonido por defecto?
  • Uri regresó después de ACTION_GET_CONTENT de la galería no está trabajando en setImageURI () de ImageView
  • ¿Cómo obtener fileName de uri?
  • Obtenga la colección de nombres de parámetros de la url de Java / Android
  • Buscar una categoría específica Play Store
  • Cómo obtener un uri de un recurso de imagen en android
  • Android: ¿es posible adjuntar un archivo al correo electrónico sin escribir en SD?
  • Abrir navegador con una url con encabezados adicionales para Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.