试图从ShoutCast中分割元数据

时间:2017-01-28 05:18:11

标签: java android shoutcast

我只想在我的Android App上分割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

我想在元数据的开头没有空格,只是在中间。

另一方面,我发现了这个错误:

enter image description here

1 个答案:

答案 0 :(得分:1)

问题是Shoutcast在开始播放流中时只返回元数据中的一个字符串,即Radio的名称,(radio),因此第一个元数据不包含“ - ”字符,并且分割函数只是制作一个字符串。我添加了一个条件来检查元数据是否包含“ - ”字符,如果是这样,这意味着split函数可以生成2个字符串,我可以从0(艺术家)和1(歌曲)索引中获取值。