我的媒体播放器可以播放我尝试过的所有其他文件名,除非文件名中包含“#”
MediaPlayer m_mediaplayer;
...
m_mediaplayer = MediaPlayer.create(this, Uri.parse(musicFile));
其中musicFile是文件名的字符串=“/ storage / emulated / 0 / Music / ASOT 643(2013-12-12)(Inspiron)/ 31 Geert Huinink& Mike van Fabio - 王国[Future Favorite# 641] .MP3"
m_mediaplayer返回null ...如果我从文件名中删除'#',它就像所有其他歌曲一样工作。似乎是Uri.parse(musicFile)与它看起来的主题标签相混淆。
在解决此问题时,我们将不胜感激。
答案 0 :(得分:2)
你传给它一个URI。 URI中的#是锚标记。 SO Uri.parse认为文件名以#结尾,其余的是片段。基本上,你不能使用Uri.parse。我会考虑使用Uri.fromFile而不是
编辑:找到比fromParts- fromFile更好的方法