Abhishec Kumar
Abhishec Kumar

Reputation: 105

android studio ,playing custom ringtone crashes?

When playing ring tone in my app using media player class, it crashes. When I select a song as a ring tone, with default ring tones it works fine, and when playing ring tone using ring tone and audio manager class, it won't crash, but I am unable to loop the ring tone.

Uri audio = RingtoneManager.getActualDefaultRingtoneUri(getApplicationContext(),RingtoneManager.TYPE_RINGTONE); 
mp = MediaPlayer.create(getApplicationContext(), audio); 

Log cat error:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.start()' on a null object reference

Upvotes: 1

Views: 571

Answers (2)

Abhishec Kumar
Abhishec Kumar

Reputation: 105

PROBLEM SOLVED :: its a permission issue mainly in android sdk 23 (marshmallow) solved by , adding this line

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
    }

or by changing targeted sdk version to 22 in build.gradle file ,

Upvotes: 1

Lovekush Vishwakarma
Lovekush Vishwakarma

Reputation: 3179

try this, its working for me,

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
MediaPlayer player = MediaPlayer.create(this, notification);
player.setLooping(true);
player.start();

for more refer this link. http://www.concretepage.com/android/android-ringtone-and-ringtonemanager-example-get-default-and-current-ringtone

Upvotes: 0

Related Questions