Me preguntaba cómo podría reproducir un sonido de notificación sin reproducirlo en la transmisión de medios. En este momento puedo hacerlo a través del reproductor multimedia, sin embargo, no quiero que se reproduzca como un archivo multimedia, quiero que se reproduzca como una notificación o alerta o tono de llamada. He aquí un ejemplo de cómo se ve mi código en este momento:
MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem());
mp.prepare();
mp.start();
android
audio
notifications
ninjasense
fuente
fuente
MediaPlayer - Should have subtitle controller already set
. Qué significa eso?Ahora puede hacerlo incluyendo el sonido al crear una notificación en lugar de llamarlo por separado.
fuente
Si desea que se reproduzca un sonido de notificación predeterminado, puede usar el método de clase setDefaults (int)
NotificationCompat.Builder
:Creo que esa es la forma más fácil de cumplir con su tarea.
fuente
Prueba esto:
fuente
Ha pasado un tiempo desde su pregunta, pero ... ¿Ha intentado configurar el tipo de transmisión de audio?
Debe hacerse antes de prepararse.
fuente
Tenía casi la misma pregunta. Después de investigar un poco, creo que si quieres reproducir el "sonido de notificación" predeterminado del sistema, tienes que mostrar una notificación y decirle que use el sonido predeterminado. Y hay algo que decir sobre el argumento en algunas de las otras respuestas de que si estás reproduciendo un sonido de notificación, también deberías presentar algún mensaje de notificación.
Sin embargo, un pequeño ajuste de la API de notificación y puede acercarse a lo que desea. Puede mostrar una notificación en blanco y luego eliminarla automáticamente después de unos segundos. Creo que esto funcionará para mí; tal vez funcione para ti.
He creado un conjunto de métodos convenientes en los
com.globalmentor.android.app.Notifications.java
que le permite crear un sonido de notificación como este:El LED también parpadeará y, si tiene permiso para vibrar, se producirá una vibración. Sí, aparecerá un icono de notificación en la barra de notificaciones, pero desaparecerá después de unos segundos.
En este punto, puede darse cuenta de que, dado que la notificación desaparecerá de todos modos, también podría tener un mensaje de desplazamiento en la barra de notificaciones; puedes hacer eso así:
Hay muchos otros métodos de conveniencia en esta clase. Puede descargar toda la biblioteca desde su repositorio Subversion y compilarla con Maven. Depende de la biblioteca globalmentor-core, que también se puede construir e instalar con Maven.
fuente
Puede usar Notification y NotificationManager para mostrar la notificación que desea. Luego puede personalizar el sonido que desea reproducir con su notificación.
fuente
Creo que el concepto de "sonido de notificación" es de alguna manera incorrecto para la interfaz de usuario de Android.
El comportamiento esperado de Android es usar la Notificación estándar para alertar al usuario. Si reproduce un sonido de notificación sin el icono de la barra de estado, confunde al usuario ("¿qué era ese sonido? No hay ningún icono aquí, ¿tal vez tengo problemas de audición?").
Aquí, por ejemplo, cómo configurar el sonido en una notificación: Configuración del sonido para la notificación
fuente
fuente
Establecer sonido al canal de notificación
fuente