me gustaría hacer un botón reproducir un pitido para indicar que se ha pulsado. Quiero saber cómo usar el sonido de pitido predeterminado de Android (como cuando ajusta el volumen del timbre), en lugar de importar mi propio archivo de música mp3 o usar ToneGenerator.¿Cómo accedo al sonido de pitido predeterminado de Android?
Respuesta
public void playSound(Context context) throws IllegalArgumentException,
SecurityException,
IllegalStateException,
IOException {
Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(context, soundUri);
final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
mMediaPlayer.setLooping(true);
mMediaPlayer.prepare();
mMediaPlayer.start();
}
}
he encontrado otra respuesta:
try {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
mérito es de https://stackoverflow.com/a/9622040/737925
... utilizar el sonido de aviso por defecto de Android (como cuando se ajusta el volumen del timbre ) ..
En mi Cyanogen 7 Nexus One y mi viejo de T-Mobile Pulse Mini (el último de la memoria), por lo que yo puedo escuchar, esto es exactamente el sonido de aviso predeterminado en el cambio de volumen:
final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);
tg.startTone(ToneGenerator.TONE_PROP_BEEP);
usted parece estar pidiendo una alternativa a ToneGenerator
, pero creo que te da exactamente lo que quieres en dos líneas.
Aquí están algunas otras probabilidades ToneGenerator
suena He intentado que no fuera un partido (los dos primeros podrían ser útiles como suplentes en el volumen del bip):
// Double beeps: tg.startTone(ToneGenerator.TONE_PROP_ACK);
// Double beeps: tg.startTone(ToneGenerator.TONE_PROP_BEEP2);
// Sounds all wrong: tg.startTone(ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE);
Lo mejor sería usar un tono continuo como los de ToneGenerator.TONE_DTMF_0 a ToneGenerator.TONE_DTMF_S o de lo contrario el pitido se interrumpirá y comenzará de nuevo en función de la descripción del tono seleccionado. Esto sucederá si su durationMs (pasada como param en startTone (int toneType, int durationMs) es mayor que la duración total del tono. – ungalcrys
Hola @ungalcrys, no estoy en posición de volver a verificar esto fácilmente en este momento, pero el interrogador me lo pidió: "sonido de pitido predeterminado de Android (como cuando ajusta el volumen del timbre)". Cuando lo probé, ese fue exactamente el que di más arriba: 'ToneGenerator.TONE_PROP_BEEP'. – ahcox
¿Alguien tenía algún problema con el S6 Edge? El ToneGenerator funciona bien en el S6, pero el S6 Edge no me da nada. –
el camino más fácil es utilizar instancia de classe ToneGenerator :
//declaration
ToneGenerator toneG;
//using any where`
if(val>=taux_max)
{
taux_text.setTextColor(warnning_col);
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); //200 is duration in ms
}
- 1. Notificación de reproducción sonido predeterminado solamente (Android)
- 2. ¿Cómo hacer un pitido en Android?
- 3. ¿Cómo puedo acceder al sonido predeterminado de iOS para configurarlo como sonido de notificación?
- 4. ¿Establecer ToggleButton para reproducir el sonido predeterminado al hacer clic?
- 5. ¿Reproduce el sonido predeterminado de notificaciones locales al mostrar UIAlertView?
- 6. ¿Cómo se reproduce el sonido TICK predeterminado?
- 7. Android: Sonido de notificación desactivar
- 8. Cómo producir un sonido de pitido con el carácter de escape "\ a"?
- 9. ¿Cómo accedo al Android STK Menu usando APK?
- 10. Desactivar el sonido predeterminado al mostrar MessageBox en WP7
- 11. Notificación de iPhone Push - Cómo usar el sonido predeterminado
- 12. En un script/comando de bash, ¿cómo puedo hacer un pitido de PC o reproducir un archivo de sonido?
- 13. Desactivar el pitido del sistema en TSpinEdit al presionar Entrar
- 14. ¿Cómo agregar efectos de sonido en Android?
- 15. Mala calidad de sonido al grabar/reproducir sonidos - Android SDK
- 16. ¿Cómo hago una función de pitido usando SDL?
- 17. ¿Cómo cambiar el sonido de notificación por código en android?
- 18. Cómo reproducir tono de llamada/sonido de alarma en Android
- 19. ¿Cómo accedo al objeto Request desde RazorViewEngine?
- 20. Reproducir sonido de pitido en iphone relacionado con la frecuencia y decibelios
- 21. Android: ¿Cómo puedo incluir un sonido de notificación utilizando un recurso de sonido?
- 22. Sonido generador de Java
- 23. ¿Cómo accedo al nombre del objeto de aplicación Rails 3?
- 24. ¿Cómo accedo al valor de un hash Perl anidado?
- 25. ¿Cómo accedo al historial de comandos desde IDLE?
- 26. ¿Cómo accedo al elemento padre dentro de una vista Backbone?
- 27. ¿Cómo accedo al contenido corporal de un POST en Grails?
- 28. Sonido de bajada o desvanecimiento en android
- 29. Cómo reproducir el sonido de la cámara nativa en Android
- 30. ¿Grabar sonido y reproducir sonido modulado en Android?
Utilicé ese código y me molestó que el sonido se repitiera. Ahora veo el problema: 'mMediaPlayer.setLooping (true);' ¿Por qué quieres que ese sonido se repita? –
@ SimonAndréForsberg depende del deseo del desarrollador –
¿Importa que mMediaPlayer salga del alcance y esté disponible para ser recogido antes de que el sonido haya terminado de reproducirse, o el sonido ya se haya transmitido a los componentes de nivel inferior que garantizarán que termine de reproducirse? la llamada 'mMediaPlayer.start()'? – ahcox