我正在尝试为音频文件制作媒体播放器。
当我播放一个有空格或特殊字符的文件时
[str=**http://192.168.1.214/MusicApplication/Songs/Baek Chan & Joo Hee of 8eight.mp3**;]
使用
mediaPlayer=new MediaPlayer();
mediaPlayer.setDataSource(str);
mediaPlayer.prepare();
媒体播放器不播放文件。
如果我使用这种类型的 url:- str=**http://192.168.1.214/MusicApplication/Songs/Baek.mp3**;
它正常工作。请告诉我应该如何解决此类问题。
提前谢谢你。
最佳答案
使用URLEncoder.encode
方法参见this
所以每个特殊字符都被转换为以“%”为前缀的十六进制值。例如:'#' -> %23。
像这样
mediaPlayer.setDataSource(URLEncoder.encode(str,"UTF-8"));
关于android media player 不播放来自具有空格或特殊字符的 url 的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403128/