NullPointerException
NullPointerException

Reputation: 37733

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

Upvotes: 8

Views: 14974

Answers (2)

Marium Jawed
Marium Jawed

Reputation: 419

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

Upvotes: 2

Mike M.
Mike M.

Reputation: 39201

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

Upvotes: 15

Related Questions