Je commence actuellement une sonnerie sur Android et il joue bien. Toutefois, lorsque j'essaie d'arrêter la sonnerie, elle ne s'arrête pas ou au moins ne s'arrête pas immédiatement, elle continuera à jouer jusqu'à ce qu'elle se déclenche.Android - Sonnerie ne cesse pas de jouer
Voici comment configurer la sonnerie:
int rm = audio_service.getRingerMode();
int vs = audio_service.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER);
android.os.Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if ((rm == AudioManager.RINGER_MODE_VIBRATE ||
(rm == AudioManager.RINGER_MODE_NORMAL && vs == AudioManager.VIBRATE_SETTING_ON)))
v.vibrate(vibratePattern,1);
if (audio_service.getStreamVolume(AudioManager.STREAM_RING) > 0) {
oRingtone = RingtoneManager.getRingtone(this, Settings.System.DEFAULT_RINGTONE_URI);
oRingtone.setStreamType(AudioManager.STREAM_RING);
oRingtone.play();
}
Et voici comment j'essaie de l'arrêter
if (CallDialogActivity.oRingtone != null) {
Log.d("RINGTONE", "Into Ringtone if");
Ringtone ringtone = CallDialogActivity.oRingtone;
oRingtone = null;
ringtone.stop();
}
Quelqu'un at-il rencontré des problèmes similiar ou voir des erreurs dans mon code?
EDIT:
Juste pour ajouter que je l'ai ajouté l'enregistrement pour voir si ringtone.isPlaying() retourne vrai ou faux après que je l'appelle ringtone.stop() et il retourne faux, mais le ton continue à jouer pour un couple secondes (3 - 5 secondes) après l'arrêt avant
je pense qu'il vaut mieux si vous arrêtez la sonnerie avant de le mettre à null. ringtone.stop() fonctionne réellement pour moi. – artsylar