使用媒体播放器课程在我的应用中播放铃声时,它会崩溃。当我选择一首歌作为铃声时,默认铃声可以正常工作,当使用铃声和音频管理器类播放铃声时,它不会崩溃,但我无法循环铃声。
Uri audio = RingtoneManager.getActualDefaultRingtoneUri(getApplicationContext(),RingtoneManager.TYPE_RINGTONE);
mp = MediaPlayer.create(getApplicationContext(), audio);
记录cat错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.start()' on a null object reference
答案 0 :(得分:1)
问题已解决::它的权限问题主要在android sdk 23(marshmallow) 解决了,添加这一行
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);
}
或在build.gradle文件中将目标sdk版本更改为22,
答案 1 :(得分:0)
试试这个,它为我工作,
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
MediaPlayer player = MediaPlayer.create(this, notification);
player.setLooping(true);
player.start();
了解更多信息,请参阅此链接。 http://www.concretepage.com/android/android-ringtone-and-ringtonemanager-example-get-default-and-current-ringtone