【问题标题】:Trying to split the metadata from ShoutCast试图从 ShoutCast 中拆分元数据
【发布时间】:2017-01-28 14:51:32
【问题描述】:

我只是想在我的 Android 应用上拆分 ShoutCast 提供的元数据(艺术家 - 歌曲)。到目前为止,我为处理此问题而实现的代码一直运行良好(大约 5 个月,然后管理员更新了直播平台)。我认为新的 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

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

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

【问题讨论】:

  • 可能有一些元数据不包含“-”字符
  • 是的,它包含“-”,它适用于第一个字符串[0],但是[1]
  • 如果没有“-”字符,split方法返回一个元素的数组,所以你只会得到艺术家的名字
  • 我已经测试过在拆分之前打印出完整的字符串,是的,伙计,有一个“-”字符
  • 试试 String meta_an = "Hello";

标签: java android shoutcast


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2021-05-24
    相关资源
    最近更新 更多