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í.
- Obtener imagen Uri + miniatura de la foto tomada con la cámara en Android
- Android - ¿Cómo obtener Uri de archivo RAW?
- Obtener el camino real para Uri Android
- Actividad de captura de cámara Android devuelve null Uri
- Uso de una URL web para SUGGEST_COLUMN_ICON_1 para sugerencias de búsqueda
Así que hay una manera de reproducir un tono de llamada una vez?
- Cómo obtener Bitmap de un Uri?
- Android Webview método shouldOverrideUrlLoading
- "La actividad exportada no requiere permiso" al intentar iniciar desde un URI
- Abrir archivo html local con el navegador de Android
- Android: Creación de miniaturas de vídeo de URI de vídeo
- ¿Cómo obtener la ruta del archivo desde URI?
- Android: obtener un recurso de imagen en Uri: IllegalArgumentException
- Convierta java.net.URI a android.net.Uri
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!