我只是想在我的安卓应用上拆分ShoutCast提供的元数据(艺术家歌曲)。我实现的处理这个问题的代码一直运行得很好(大约5个月,然后管理员更新了shoutcast平台)。我认为新的Shoutcast版本改变了元数据格式,并在其中添加了一些特殊字符(可能是更多空格)。
这是我当前的代码,它工作得很好:
String meta_an = "";
artist_name.setText(meta_an.split("-")[0]);
song_name.setText(meta_an.split("-")[1]); //here is the error, index 1实际上,两个字符串之间的分隔符是“- ",但这些行可以完成任务。
这是一个元数据示例:"Dorian Gray - Sjaj U Tami“
你可以在这里查看:http://shoutcast.pondi.hr:8000/currentsong?sid=1
我认为元数据的开头没有空格,只有中间的空格。
另一方面,我发现了这个错误:

发布于 2017-01-28 14:51:33
问题是,Shoutcast在开始播放流时只在元数据中返回一个字符串,即电台的名称( Radio ),因此第一个元数据不包含“-”字符,而split函数只是生成一个字符串。我添加了一个条件,用于检查元数据是否包含“-”字符,如果包含,这意味着拆分函数可以生成2个字符串,我可以从0(艺术家)和1(歌曲)索引中获得值。
https://stackoverflow.com/questions/41906600
复制相似问题