2017-02-28 7 views
1

Beim Abspielen von Klingelton in meiner App mit Media Player-Klasse, stürzt es ab. Wenn ich einen Song als Klingelton auswähle, funktionieren die Standardklingeltöne einwandfrei, und wenn ich einen Klingelton mit der Klingelton- und Audiomanager-Klasse abspiele, stürzt er nicht ab, aber ich kann den Klingelton nicht wiederholen.android studio, spielen benutzerdefinierte Klingelton stürzt ab?

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

Log Katze Fehler:

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

teilen Sie bitte Ihren Code. –

+0

Ich hatte versucht, viele Kombination von Mediaplyer aber Ergebnis ist das gleiche –

+0

, wenn Ihr Problem gelöst ist, als Sie meine Antwort annehmen können @AbhishecKumar –

Antwort

0

dies versuchen, seine für mich arbeiten,

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

für mehr diesen Link verweisen. http://www.concretepage.com/android/android-ringtone-and-ringtonemanager-example-get-default-and-current-ringtone

+0

sollte ich TYPE_RINGTONE –

+0

ja können Sie verwenden, und Sie können diese Verbindung auch für vollständige Beispiel überprüfen. –

+0

App stürzt immer noch ab, wenn Sie einen Song als Klingelton auswählen –

1

Problem gelöst :: es ist ein Berechtigungsproblem vor allem in android sdk 23 (Eibisch) gelöst durch das Hinzufügen dieser Zeile

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

oder durch gezielte sdk Version in build.gradle Datei auf 22 zu ändern,

Verwandte Themen