来自URL的音频文件,其空间不在我的应用程序中播放

时间:2013-07-16 08:06:19

标签: java android streaming

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

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();
}

1 个答案:

答案 0 :(得分:3)

使用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