2

我正在开发一个应用程序,它从我上传的服务器播放音频文件。问题是只有那些文件名中没有空格的文件才会播放,而文件文件中有空格的文件不会被播放。例如,我有两个词。

word1=cricket
word2=play cricket
http://mydomain.com/games/cricket.mp3 is playing sound
http://mydomain.com/games/play cricket.mp3 is not playing

每个有空格的单词都没有被播放。我的代码有什么问题?

MediaPlayer mp = new MediaPlayer();

try {
    mp.setDataSource(url);
    mp.prepare();
    mp.start();
} 
catch (Exception e) {
    e.printStackTrace();
}
4

1 回答 1

4

使用URLEncoder是一个不错的选择,但是可能有点笨拙(您只需要转义结尾部分)。

如果您有理由相信这只是导致问题的空格,另一种选择就是像这样替换它们:

String url = "http://example.com/games/play cricket.mp3"; 
String fixedUrl = url.replaceAll("\\s", "%20");

MediaPlayer mp = new MediaPlayer();

try {
    mp.setDataSource(fixedUrl);
    mp.prepare();
    mp.start();
} catch (Exception e) {
    e.printStackTrace();
}  

您可以在此处阅读有关百分比编码的更多信息:http ://en.wikipedia.org/wiki/Percent-encoding

于 2013-07-16T08:20:11.850 回答