【发布时间】:2015-03-06 09:24:33
【问题描述】:
我创建了一个对话框,用于为应用选择通知声音。我通过从 RingtoneManager 获取光标来查询通知声音:
RingtoneManager manager = new RingtoneManager(this);
manager.setType(RingtoneManager.TYPE_NOTIFICATION);
Cursor cursor = manager.getCursor();
然后我通过将声音路径与名称连接起来来存储它的完整路径。
当我将选定的声音设置为通知声音但我无法让媒体播放器在选择时播放它时,这可以正常工作:
MediaPlayer mp = MediaPlayer.create(this, Uri.parse(path));
这会引发 IllegalStateException:
java.lang.IllegalStateException: Unknown URL: content://media/internal/audio/media/Capella
关于如何获得特定通知声音的正确路径的任何想法?
【问题讨论】:
-
路径变量包含什么值?
-
@Darkie "content://media/internal/audio/media/Capella"
-
我认为,在 media/ 之后,您应该获得轨道的 id 而不是名称,因为当您访问路径时,它会为您提供带有 id 而不是名称的轨道路径。你应该检查一下...
-
如何获取路径?
标签: android android-mediaplayer