studio sonido reproductor repetir para musica mediaplayer fuente ejemplo codigo java android beep

java - reproductor - ¿Cómo accedo al sonido de pitido predeterminado de Android?



reproductor de musica para android codigo fuente (3)

Me gustaría hacer que un botón reproduzca un pitido para indicar que se ha pulsado. Quiero saber cómo usar el sonido de pitido de Android predeterminado (como cuando ajusta el volumen del timbre), en lugar de importar mi propio archivo de música mp3 o usar ToneGenerator


... use el sonido de pitido predeterminado de Android (como cuando ajusta el volumen del timbre) ...

En mi Cyanogen 7 Nexus One y en mi antiguo stock T-Mobile Pulse Mini (el último de la memoria), por lo que puedo escuchar, este es el sonido de pitido predeterminado al cambiar el volumen:

final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100); tg.startTone(ToneGenerator.TONE_PROP_BEEP);

Parece que estás pidiendo una alternativa a ToneGenerator , pero creo que te da exactamente lo que quieres en dos líneas.

Aquí hay algunos otros sonidos probables de ToneGenerator que probé que no eran compatibles (los dos primeros podrían ser útiles como alternativa al pitido de volumen):

// 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);


La forma más fácil es usar la instancia de ToneGenerator classe:

//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 }


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); // Uncomment the following line if you aim to play it repeatedly // mMediaPlayer.setLooping(true); mMediaPlayer.prepare(); mMediaPlayer.start(); } }

Encontré otra respuesta:

try { Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification); r.play(); } catch (Exception e) { e.printStackTrace(); }

el crédito va a https://.com/a/9622040/737925