Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to play ringtone sound in Android with infinite loop?

i want to play the ringtone selected in the settings of the device, but in loop mode.

here you can see how to play it only once: How to play ringtone/alarm sound in Android

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();

I need to make it play in loop mode, but i don't know how to do it...

thanks

like image 779
NullPointerException Avatar asked Dec 14 '14 19:12

NullPointerException


2 Answers

It seems the simplest way is to create a MediaPlayer from the Uri returned from RingtoneManager, and set it to loop.

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
MediaPlayer player = MediaPlayer.create(this, notification);
player.setLooping(true);
player.start();
like image 108
Mike M. Avatar answered Nov 10 '22 15:11

Mike M.


By using setLooping(true) you can achieve this:

Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
mMediaPlayer.setDataSource(this, alert);
mMediaPlayer.setLooping(true);
mMediaPlayer.prepare();
mMediaPlayer.start();
like image 2
Marium Jawed Avatar answered Nov 10 '22 16:11

Marium Jawed