试图从 ShoutCast 中分离元数据

Trying to split the metadata from ShoutCast

我只是想在我的 Android 应用程序上拆分 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

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

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

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