He estado buscando en todas partes cómo reproducir un tono de llamada/sonido de alarma en Android.Cómo reproducir tono de llamada/sonido de alarma en Android
Presiono un botón y quiero reproducir un tono de llamada/alarma. No pude encontrar una muestra fácil y directa. Sí, ya miré el código fuente del reloj de alarma ... pero no es sencillo y no puedo compilarlo.
no puedo hacer este trabajo:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(this, alert);
final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
player.setAudioStreamType(AudioManager.STREAM_ALARM);
player.setLooping(true);
player.prepare();
player.start();
}
consigo este error:
04-11 17:15:27.638: ERROR/MediaPlayerService(30): Couldn't open fd for
content://settings/system/ringtone
Así que .. por favor si alguien sabe cómo jugar un tono de llamada/alarma por defecto que me haga saber.
Prefiero no cargar ningún archivo. Simplemente reproduce un tono de llamada predeterminado.
El URI volvió podría no ser 'null' a pesar de que no apunta a un sonido válido. Debería probar el valor de retorno de 'RingtoneManager.getRingtone()' para 'null' en su lugar/como-bien – Attila
En 2017, no se está trabajando para no sonar. ¿Lo tienes funcionando en Android reciente? – YumYumYum
@YumYumYum Funciona para mí en el emulador. –