Android 由于歌曲url中的特殊字符,无法播放歌曲

Android 由于歌曲url中的特殊字符,无法播放歌曲,android,Android,我在安卓系统工作。我正在设计一个音乐播放器,从服务器播放歌曲 当URL没有任何特殊字符时,歌曲播放效果良好。但在那里 如果URL中有一些特殊字符,则歌曲不会播放。例如,以下url不起作用: http://192.168.1.214/MusicApplication/Songs/desert rose sting & enigma.mp3 我正在使用此代码播放我的歌曲 mediaPlayer.setDataSource(songURL); mediaPlayer.prepare();

我在安卓系统工作。我正在设计一个音乐播放器,从服务器播放歌曲

当URL没有任何特殊字符时,歌曲播放效果良好。但在那里 如果URL中有一些特殊字符,则歌曲不会播放。例如,以下url不起作用:

http://192.168.1.214/MusicApplication/Songs/desert rose sting & enigma.mp3
我正在使用此代码播放我的歌曲

mediaPlayer.setDataSource(songURL);

mediaPlayer.prepare();

mediaPlayer.start();

我已经解决了与空间有关的问题。请告诉我“&”符号的解决方案。

使用URLEncoder.encode(songUrl,“UTF-8”)

URL编码器/解码器问题?我相信这行是不必要的,songURL=str.replaceAll(“,“%20”);鲁迪先生,这条线是必要的。没有这一行,就不会运行有空间的url。所以这是必要的。小心…你应该像Harald建议的那样使用URLEncoder。不要创建您自己的编码器。正确的编码URL应该是:http%3A%2F%2F192.168.1.214%2FMusicApplication%2FSongs%2FMatt%20Cardle%20-%20When%20We%20Collide.mp3,但是您自己的编码器提供了一个替代方案,您可以尝试以下方法:URI URI=新URI(songUrl);setDataSource(uri.toASCIIString());