2017-01-28 29 views
1

我只是試圖在我的Android應用程序中拆分ShoutCast提供的元數據(藝術家 - 歌曲)。我處理這個代碼的工作正常(大約5個月,然後管理員更新了shoutcast平臺),直到現在。我認爲新的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 

事實上,兩個字符串之間的分隔符爲「 - 」,但這些線路正在做的工作。

這是一個元數據的例子:「道林·格雷 - Sjajü塔米」

您可以點擊此處查看: http://shoutcast.pondi.hr:8000/currentsong?sid=1

我想,有在元數據的開頭沒有空格,只在中間。

在另一方面,我抓住這個錯誤:

enter image description here

+1

可能有一個不包含一些元數據 - 是的,它包含字符 –

+0

「 - 」,它適用於第一串[0],而[1] –

+1

如果沒有「 - 」字符分割「」方法返回一個元素的數組,所以你只會得到藝術家的名字 –

回答

1

的問題是,Shoutcast的在元數據開始播放流時,只返回一個字符串,該電臺的名字, (無線電),所以這第一個元數據不包含「 - 」字符,並且split函數只是創建一個字符串。我添加了一個條件來檢查元數據是否包含「 - 」字符,如果是這樣,這意味着拆分函數可以創建2個字符串,並且我可以從0(藝術家)和1(歌曲)索引中獲取值。