我正在努力在 MEDIA PLAYER 中务实地播放铃声。在此之前,我已将所有 RINGTONES 绝对路径存储在 SQLite DB中。当我必须播放铃声时,我需要从 DB 中获取路径并将其转换为 URI 并播放铃声,但我在下面代码的第 2 行中得到 NULL POINTER EXCEPTION。
Uri u = Uri.parse(soundpath);
player = MediaPlayer.create(this, u);
Context con =getApplicationContext();
player.setWakeMode(con,PowerManager.PARTIAL_WAKE_LOCK);
player.setVolume(1f, 1f);
player.start();
在调试时,我将变量soundpath的值作为/content:/media/internal/audio/media/23
请给我建议。
已编辑:用于将所有铃声存储在 HASHMAP 中的代码
Ringtone ringtone = ringtoneMgr.getRingtone(currentPosition);
System.out.println(ringtone.getTitle(this));
File uripath=new File(ringtoneMgr.getRingtoneUri(currentPosition).toString());
Toast.LENGTH_LONG).show();
ringtonemap.put(ringtone.getTitle(this), uripath.getAbsolutePath());
arraylist.add(ringtone.getTitle(this));