为什么Uri在MediaPlayer静态方法create()中使用会抛出java.lang.IllegalArgumentException?
Why Uri used in MediaPlayer static method create() throws java.lang.IllegalArgumentException?
问题是当我们使用 uri
使用 Mediaplayer.create(Context, uri)
获取 Mediaplayer
class 的实例时,它会抛出 exception
如下所示:
java.lang.IllegalArgumentException
当我们的音乐文件路径是 Url 编码形式 (i.e,path : storage/sdcard/song%20music%20file.mp3
) 路径是歌曲的 phone storage
和 not the url
时,就会出现上述异常互联网。
Uri uri = Uri.parse(path);
//the below line creates the problem.
mediaplayer = Mediaplayer.create(context, uri);
而在文件路径的其他情况下,它就像魅力一样工作为什么会出现这个问题,如果有任何方法可以解决这个问题,我们该怎么做?任何建议,帮助将不胜感激。
您可以使用如下代码解决问题:
Uri myUri = Uri.parse(Uri.encode(path));
//then use myUri like
mediaplayer = Mediaplayer.create(context, myUri);
问题是当我们使用 uri
使用 Mediaplayer.create(Context, uri)
获取 Mediaplayer
class 的实例时,它会抛出 exception
如下所示:
java.lang.IllegalArgumentException
当我们的音乐文件路径是 Url 编码形式 (i.e,path : storage/sdcard/song%20music%20file.mp3
) 路径是歌曲的 phone storage
和 not the url
时,就会出现上述异常互联网。
Uri uri = Uri.parse(path);
//the below line creates the problem.
mediaplayer = Mediaplayer.create(context, uri);
而在文件路径的其他情况下,它就像魅力一样工作为什么会出现这个问题,如果有任何方法可以解决这个问题,我们该怎么做?任何建议,帮助将不胜感激。
您可以使用如下代码解决问题:
Uri myUri = Uri.parse(Uri.encode(path));
//then use myUri like
mediaplayer = Mediaplayer.create(context, myUri);