Je voudrais faire un bouton de jouer un bip sonore pour indiquer qu'il a été pressé. Je veux savoir comment faire pour utiliser la valeur par défaut d'android bip sonore (comme lorsque vous réglez le volume de la sonnerie), au lieu d'importer mon propre fichier de musique mp3 ou à l'aide de ToneGenerator?
Réponses
Trop de publicités?... utiliser la valeur par défaut d'android bip sonore (comme lorsque vous réglez l' le volume de la sonnerie) ...
Sur mon Cyanogen 7 Nexus One et mon vieux stock de T-Mobile Pulse Mini (le dernier de la mémoire), pour autant que je peux entendre, c'est exactement le défaut bip sonore sur le changement de volume:
final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100); tg.startTone(ToneGenerator.TONE_PROP_BEEP);
Vous semblez être en demandant une alternative à l'
ToneGenerator
, mais je pense qu'il vous donne exactement ce que vous voulez en deux lignes.Voici quelques autres susceptibles
ToneGenerator
sons que j'ai essayé qui n'ont pas été un match (les deux premiers pourraient être utiles à titre de suppléants pour le volume du 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);
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();
}
}
J'ai trouvé une autre réponse:
try {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
le crédit va à http://stackoverflow.com/a/9622040/737925