我正在开发一个应用程序,它可以从我上传的服务器上播放音频文件。问题是,只有那些文件名中没有空格的文件才会播放,而文件 file 中有空格的文件不会被播放。例如,我有两个词。
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();
}
最佳答案
使用 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
关于java - URL 中带有空格的音频文件无法在我的应用程序中播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671213/