Comment jouer à la sonnerie sélectionnée dans RingtonePreference

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