J’essaie de jouer une sonnerie qui est sélectionnée à partir d’une référence de sonnerie. Comment puis-je y jouer?
Voici mon code de fichier xml
Voici ce que je fais en Java
SharedPreferences getAlarms = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); Ssortingng alarms = getAlarms.getSsortingng("ringtone", "default ringtone");
Quand j’utilise du pain grillé comme ça
Toast.makeText(getApplicationContext(), alarms, Toast.LENGTH_LONG).show();
Ensuite, il montre ce genre de chemin
content://media/internal/audio/media/50
Mais je ne sais pas comment jouer celui-ci.
Aidez-moi, s’il vous plaît.
private void alarm(){ SharedPreferences getAlarms = PreferenceManager. getDefaultSharedPreferences(getBaseContext()); Ssortingng alarms = getAlarms.getSsortingng("ringtone", "default ringtone"); Uri uri = Uri.parse(alarms); playSound(this, uri); //call mMediaPlayer.stop(); when you want the sound to stop } private MediaPlayer mMediaPlayer; private void playSound(Context context, Uri alert) { mMediaPlayer = new MediaPlayer(); try { mMediaPlayer.setDataSource(context, alert); final AudioManager audioManager = (AudioManager) context .getSystemService(Context.AUDIO_SERVICE); if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) { mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); mMediaPlayer.prepare(); mMediaPlayer.start(); } } catch (IOException e) { System.out.println("OOPS"); } }
Cela devrait être ce que vous voulez 🙂 J’espère que cela fonctionne
Voici un exemple de projet de Commonsware que vous pouvez télécharger et vérifier son fonctionnement.
Vous pouvez obtenir l’URI de la chaîne que vous obtenez en utilisant,
SharedPreferences getAlarms = PreferenceManager. getDefaultSharedPreferences(getBaseContext()); Ssortingng alarms = getAlarms.getSsortingng("ringtone", "default ringtone"); Uri uri = Uri.parse("alarms");
Ensuite, vous pouvez jouer à l’uri à l’aide de MediaPlayer
.
Vous pouvez choisir votre sonnerie préférée à partir de vos préférences et vous pouvez facilement jouer cette sonnerie à l’aide de la classe RingtoneManager.
SharedPreferences getAlarms = PreferenceManager. getDefaultSharedPreferences(getBaseContext()); Ssortingng alarms = getAlarms.getSsortingng("ringtone", "default ringtone"); Uri uri = Uri.parse(alarms); Ringtone r = RingtoneManager.getRingtone(context, uri); r.play();