package Ġxyz . y hs j . k music . impl Ċ Ċ import Ġk http . get Ċ import Ġorg . json . JSONObject Ċ import Ġorg . json . XML Ċ import Ġxyz . y hs j . k music . entity . Album Ċ import Ġxyz . y hs j . k music . entity . Music Resp Ċ import Ġxyz . y hs j . k music . entity . Music Top Ċ import Ġxyz . y hs j . k music . entity . Song Ċ import Ġxyz . y hs j . k music . utils . future Ċ import Ġjava . util .* ĊĊ Ċ /** Ċ Ġ* Ġ éħ · æĪĳ æİ¥åı£ Ċ Ġ*/ Ċ object ĠK u wo Impl Ġ: ĠImp l Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* æł¹æį® ID èİ·åıĸ ä¸ĵ è¾ĳ è¯¦æĥħ ĊĠĠĠĠ Ġ* Ġ@ param Ġalbum Id Ġ ä¸ĵ è¾ĳ ID ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Album ById ( album Id : ĠString ): ĠMusic Resp < Album > Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġ åħ³éĶ®åŃĹ ĊĠĠĠĠ Ġ* Ġ@ param Ġpage Ġ é¡µ æķ° ĊĠĠĠĠ Ġ* Ġæ Ĳ ľç´¢ ä¸ĵ è¾ĳ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġsearch Album ( key : ĠString , Ġpage : ĠInt , Ġnum : ĠInt ): ĠMusic Resp < List < Album >> Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® ç±»åŀĭ , èİ·åıĸ æŃĮ æĽ² æİĴ è¡Į æ ¦ ľ è¯¦æĥħ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Song Top Detail ( ĊĠĠĠĠĠĠĠ Ġtop Id : ĠString , ĊĠĠĠĠĠĠĠ Ġtop Type : ĠString , ĊĠĠĠĠĠĠĠ Ġtop Key : ĠString , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt , ĊĠĠĠĠĠĠĠ Ġnum : ĠInt ĊĠĠĠ Ġ): ĠMusic Resp < List < Song >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresp Ġ= Ġget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" http :// kb ang server . ku wo . cn / ks ong . s ? from = pc & fmt = json & type = bang & data = content & rn =$ num & id = 1 6 & pn =${ page Ġ- Ġ 1 }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Refer er " Ġto Ġ" http :// player . ku wo . cn / web music / play ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" User - Agent " Ġto Ġ" Mozilla / 5 . 0 Ġ( iPhone ; ĠCPU ĠiPhone ĠOS Ġ 9 _ 1 Ġlike ĠMac ĠOS ĠX ) ĠAppleWebKit / 6 0 1 . 1 . 4 6 Ġ( KHTML , Ġlike ĠGecko ) ĠVersion / 9 . 0 ĠMobile / 1 3 B 1 4 3 ĠSafari / 6 0 1 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resp . statusCode Ġ!= Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Resp . failure ( code Ġ= Ġresp . statusCode , Ġmsg Ġ= Ġ" è¯·æ±Ĥ å¤±è´¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradio Data Ġ= Ġresp . jsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong List Ġ= Ġradio Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get JSONArray (" music list ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Ids Ġ= Ġsong List . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( it Ġas ĠJSONObject ). getString (" id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmusic Data Ġ= Ġget Song ById ( song Ids ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmusic Data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Resp . failure ( msg Ġ= Ġe . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ æŃĮ æĽ² æİĴ è¡Į æ ¦ ľ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Song Top (): ĠMusic Resp < List < Music Top >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġto ps Ġ= Ġarray ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Bill board æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 1 4 / 1 4 / 1 4 8 1 7 8 1 2 6 1 1 1 8 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" Bill board æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 4 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" iT unes éŁ³ ä¹Ĳ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 1 5 / 1 5 / 1 4 8 1 7 8 1 3 4 3 3 9 1 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" iT unes éŁ³ ä¹Ĳ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" èĭ± åĽ½ UK æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 4 . kw cdn . ku wo . cn / star / upload / 7 / 7 / 1 4 8 1 7 8 1 5 9 0 3 2 7 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" èĭ± åĽ½ UK æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" åı° æ¹ ¾ å¹ ½ æµ ® æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 3 . kw cdn . ku wo . cn / star / upload / 1 2 / 1 2 / 1 5 3 0 1 8 4 3 4 9 2 4 4 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" åı° æ¹ ¾ å¹ ½ æµ ® æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éŁ © åĽ½ M - net æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 4 . kw cdn . ku wo . cn / star / upload / 2 / 2 / 1 4 8 1 7 8 1 4 0 5 5 0 6 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éŁ © åĽ½ M - net æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" æĹ¥æľ¬ åħ¬ ä¿¡ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 2 . kw cdn . ku wo . cn / star / upload / 8 / 8 / 1 4 8 1 7 8 1 4 6 8 6 1 6 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" æĹ¥æľ¬ åħ¬ ä¿¡ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" é¦Ļ æ¸¯ çĶµ åı° æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 3 . kw cdn . ku wo . cn / star / upload / 1 1 / 1 1 / 1 5 1 2 6 4 1 1 6 4 2 9 9 _. jpg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" é¦Ļ æ¸¯ çĶµ åı° æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ çĥŃ æŃĮ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 7 / 7 / 1 4 4 4 9 0 1 3 6 2 6 6 4 _. jpg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ çĥŃ æŃĮ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ æĸ° æŃĮ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 7 / 7 / 1 4 4 4 9 0 1 5 6 9 4 4 7 _. jpg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ æĸ° æŃĮ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 9 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ é£ Ļ åįĩ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 2 / 2 / 1 5 3 0 5 8 7 8 3 2 4 5 0 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ é£ Ļ åįĩ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 6 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ åįİ è¯Ń æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 1 4 / 1 4 / 1 5 3 0 5 8 7 8 3 3 0 2 2 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ åįİ è¯Ń æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 5 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" æ½ ® æµģ çĥŃ æŃĮ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 2 / 2 / 1 5 3 1 1 0 2 9 9 4 7 5 4 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" æ½ ® æµģ çĥŃ æŃĮ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 5 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" èĢģ éĵ ģ çĥŃ æŃĮ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 3 . kw cdn . ku wo . cn / star / upload / 4 / 4 / 1 5 3 1 1 0 2 9 9 4 7 4 0 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" èĢģ éĵ ģ çĥŃ æŃĮ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 2 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ æ¬ § ç¾İ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 3 . kw cdn . ku wo . cn / star / upload / 8 / 8 / 1 4 4 4 9 0 1 1 0 7 6 5 6 _. jpg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ æ¬ § ç¾İ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ æĹ¥ éŁ © æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 2 . kw cdn . ku wo . cn / star / upload / 5 / 5 / 1 4 4 4 9 0 1 4 3 6 0 2 1 _. jpg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ æĹ¥ éŁ © æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 5 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ ç» ¼ èīº æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 2 . kw cdn . ku wo . cn / star / upload / 1 2 / 1 2 / 1 5 3 0 5 8 7 8 3 3 4 8 4 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ ç» ¼ èīº æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 2 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" ç»ı åħ¸ æĢ Ģ æĹ§ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 2 . kw cdn . ku wo . cn / star / upload / 6 / 6 / 1 5 3 0 5 8 7 8 3 3 6 7 0 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" ç»ı åħ¸ æĢ Ģ æĹ§ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 6 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" ç½ĳç»ľ ç¥ŀ æĽ² æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 3 . kw cdn . ku wo . cn / star / upload / 6 / 6 / 1 5 3 0 5 8 7 8 3 3 5 5 8 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" ç½ĳç»ľ ç¥ŀ æĽ² æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 7 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" å¤ ľ åºĹ èĪ ŀ æĽ² æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 2 . kw cdn . ku wo . cn / star / upload / 2 / 2 / 1 4 4 4 9 0 6 8 8 1 6 1 8 _. jpg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" å¤ ľ åºĹ èĪ ŀ æĽ² æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 6 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" çĥŃ éĹ¨ å½± è§Ĩ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 3 . kw cdn . ku wo . cn / star / upload / 1 3 / 1 3 / 1 5 3 0 5 8 7 8 3 4 1 0 9 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" çĥŃ éĹ¨ å½± è§Ĩ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 5 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" ç½ĳ çº¢ æĸ° æŃĮ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 4 . kw cdn . ku wo . cn / star / upload / 1 2 / 1 2 / 1 5 3 0 5 8 7 8 3 3 9 4 8 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" ç½ĳ çº¢ æĸ° æŃĮ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 0 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ é¦ĸ åıĳ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 4 . kw cdn . ku wo . cn / star / upload / 1 2 / 1 2 / 1 5 3 0 5 8 7 8 3 4 3 4 8 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ é¦ĸ åıĳ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 0 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" éħ · æĪĳ çľŁ å£° éŁ³ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 1 0 / 1 0 / 1 5 3 0 5 8 7 8 3 4 3 7 8 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" éħ · æĪĳ çľŁ å£° éŁ³ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 5 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" èħ ¾ è®¯ éŁ³ ä¹Ĳ äºº ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 2 . kw cdn . ku wo . cn / star / upload / 4 / 4 / 1 5 3 0 5 8 7 8 3 4 6 9 2 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" èħ ¾ è®¯ éŁ³ ä¹Ĳ äºº " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Id Ġ= Ġ" 1 4 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" åįķ æĽ² çķ ħ éĶĢ æ ¦ ľ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġ" http :// img 1 . kw cdn . ku wo . cn / star / upload / 7 / 7 / 1 5 3 0 5 8 7 8 3 4 7 4 3 _. png ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" åįķ æĽ² çķ ħ éĶĢ æ ¦ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMusic Resp . success ( data Ġ= Ġto ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** @ param Ġkey Ġ åħ³éĶ®åŃĹ ĊĠĠĠĠ Ġ* Ġ@ param Ġpage Ġ é¡µ æķ° ĊĠĠĠĠ Ġ* Ġæ Ĳ ľç´¢ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġsearch ( key : ĠString , Ġpage : ĠInt , Ġnum : ĠInt ): ĠMusic Resp < List < Song >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// http :// ku wo . cn / api / www / search / search Music By key Word ? key =% E 8 % 9 6 % 9 B % E 4 % B 9 % 8 B % E 8 % B 0 % A 6 & pn = 1 & rn = 3 0 & https Status = 1 & req Id = 2 4 0 2 0 ad 0 - 3 ab 4 - 1 1 eb - 8 b 5 0 - cf 8 a 9 8 bef 5 3 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresp Ġ= Ġget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" http :// ku wo . cn / api / www / search / search Music By key Word ? key =$ key & pn =$ page & rn =$ num & https Status = 1 & req Id = 2 4 0 2 0 ad 0 - 3 ab 4 - 1 1 eb - 8 b 5 0 - cf 8 a 9 8 bef 5 3 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Refer er " Ġto Ġ" http :// ku wo . cn / search / list ? key =$ key ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Cookie " Ġto Ġ" kw _ token = EU OH 7 9 P 2 LL K ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" csrf " Ġto Ġ" EU OH 7 9 P 2 LL K ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" User - Agent " Ġto Ġ" Mozilla / 5 . 0 Ġ( iPhone ; ĠCPU ĠiPhone ĠOS Ġ 9 _ 1 Ġlike ĠMac ĠOS ĠX ) ĠAppleWebKit / 6 0 1 . 1 . 4 6 Ġ( KHTML , Ġlike ĠGecko ) ĠVersion / 9 . 0 ĠMobile / 1 3 B 1 4 3 ĠSafari / 6 0 1 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resp . statusCode Ġ!= Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Resp . failure ( code Ġ= Ġresp . statusCode , Ġmsg Ġ= Ġ" è¯·æ±Ĥ å¤±è´¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradio Data Ġ= Ġresp . jsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong List Ġ= Ġradio Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getJSONObject (" data ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get JSONArray (" list ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsongs Ġ= Ġsong List . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Info Ġ= Ġ( it Ġas ĠJSONObject ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSong ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġ" http :// ku wo . cn / play _ detail /${ song Info . getInt (" rid ") }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsong id Ġ= Ġsong Info . getInt (" rid "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġsong Info . getString (" name ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Ġ= Ġsong Info . getString (" artist ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġget Song Url ( song Info . getInt (" rid "). toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl rc Ġ= Ġget L rc ById ( song Info . getInt (" rid "). toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġsong Info . getString (" pic ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Name Ġ= Ġsong Info . getString (" album ", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMusic Resp . success ( data Ġ= Ġsongs ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMusic Resp . failure ( msg Ġ= Ġe . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® id èİ·åıĸ æŃĮ æĽ² ï¼Į éĥ¨åĪĨ æİ¥åı£ æĶ¯æĮģ èİ·åıĸ å¤ļä¸ª ï¼Į id çĶ¨ âĢľ ï¼Į âĢĿ åĪĨ å¼Ģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Song ById ( song Ids : ĠList < String >): ĠMusic Resp < List < Song >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsongs : ĠList < Song > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsong Ids . future Ġ{ Ġsong Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Resp Ġ= Ġget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" http :// player . ku wo . cn / web music / st / getNew Mu ise By R id ? rid = M US IC _$ song Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Refer er " Ġto Ġ" http :// player . ku wo . cn / web music / play ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" User - Agent " Ġto Ġ" Mozilla / 5 . 0 Ġ( iPhone ; ĠCPU ĠiPhone ĠOS Ġ 9 _ 1 Ġlike ĠMac ĠOS ĠX ) ĠAppleWebKit / 6 0 1 . 1 . 4 6 Ġ( KHTML , Ġlike ĠGecko ) ĠVersion / 9 . 0 ĠMobile / 1 3 B 1 4 3 ĠSafari / 6 0 1 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( song Resp . statusCode Ġ!= Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSong ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Ġ= Ġsong Resp . statusCode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg Ġ= Ġ" ç½ĳç»ľ å¼Ĥå¸¸ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsong id Ġ= Ġsong Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħĪ æĬĬ xml è½¬ æĪĲ json ï¼Į & æĺ¯ åħ³éĶ®åŃĹ ï¼Į è§£æŀĲ çļĦæĹ¶åĢĻ ä¼ļ æĬ¥éĶĻ ï¼Į åħĪ è½¬ ä¹ī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Info Ġ= ĠXML . to JSONObject ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsong Resp . text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("& ", Ġ"% 2 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("< Song >", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("</ Song >", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradio Song Id Ġ= Ġsong Info . getLong (" music _ id "). toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http ://${ song Info . getString (" mp 3 dl ") }/ resource /${ song Info . getString (" mp 3 path ") }" ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalbum Img Ġ= Ġsong Info . getString (" artist _ pic 2 4 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimg Url Ġ= Ġsong Info . getString (" artist _ pic ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSong ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġ" http :// www . ku wo . cn / y iny ue /$ radio Song Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsong id Ġ= Ġradio Song Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġsong Info . getString (" name "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Ġ= Ġsong Info . getString (" sing er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl rc Ġ= Ġget L rc ById ( radio Song Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpic Ġ= Ġif Ġ( album Img . isEmpty ()) Ġimg Url Ġelse Ġalbum Img , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Name Ġ= Ġsong Info . getString (" special ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSong ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsite Ġ= Ġ" ku wo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Ġ= Ġ 5 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg Ġ= Ġe . message Ġ?: Ġ" æľª çŁ¥ å¼Ĥå¸¸ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsong id Ġ= Ġsong Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" N / A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Ġ= Ġ" N / A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Name Ġ= Ġ" N / A " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . code Ġ== Ġ 2 0 0 Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠMusic Resp . success ( data Ġ= Ġsongs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® id èİ·åıĸ æŃĮ è¯į ï¼Į éĥ¨åĪĨ æİ¥åı£ éľĢè¦ģ ä¼łåħ¥ å®Įæķ´ url ï¼Į çĶ± ç½ĳç«Ļ ç¡®å®ļ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget L rc ById ( song Id : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http :// m . ku wo . cn / new h 5 / sing les / song info and l rc ? music Id =$ song Id " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Resp Ġ= Ġget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= Ġ 5 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Refer er " Ġto Ġ" http :// m . ku wo . cn / y iny ue /$ song Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" User - Agent " Ġto Ġ" Mozilla / 5 . 0 Ġ( iPhone ; ĠCPU ĠiPhone ĠOS Ġ 9 _ 1 Ġlike ĠMac ĠOS ĠX ) ĠAppleWebKit / 6 0 1 . 1 . 4 6 Ġ( KHTML , Ġlike ĠGecko ) ĠVersion / 9 . 0 ĠMobile / 1 3 B 1 4 3 ĠSafari / 6 0 1 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( song Resp . statusCode Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Info Ġ= Ġsong Resp . jsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġl rc List Ġ= Ġsong Info . getJSONObject (" data "). get JSONArray (" l rc list ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġl rc Ġ= Ġl rc List . join ToString ("\ n ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġl rc Line Ġ= Ġit Ġas ĠJSONObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ ${ l rc Line . getString (" time "). l rc Time ()} ] ${ l rc Line . getString (" line Ly ric ") }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl rc ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ 0 0 : 0 0 : 0 0 ] æŃ¤ æŃĮ æĽ² åı¯èĥ½ æ²¡æľī æŃĮ è¯į " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" èİ·åıĸ æŃĮ è¯į åĩºçİ° å¼Ĥå¸¸ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ 0 0 : 0 0 : 0 0 ] æŃ¤ æŃĮ æĽ² åı¯èĥ½ æ²¡æľī æŃĮ è¯į " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æł¼å¼ı åĮĸ æŃĮ è¯į æĹ¶éĹ´ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠString . l rc Time (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimes Ġ= Ġthis . split (".") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Tmp Ġ= Ġtimes [ 0 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmilli second Ġ= Ġtimes [ 1 ]. format Zero () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġminute Ġ= Ġ( second Tmp . toInt () Ġ/ Ġ 6 0 ). toString (). format Zero () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Ġ= Ġ( second Tmp Ġ% Ġ 6 0 ). toString (). format Zero () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ minute :$ second .$ milli second " ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 :$ this " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¡¥ 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠString . format Zero () Ġ= Ġif Ġ( this . length Ġ< Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" 0 $ this " ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . substring ( 0 , Ġ 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠJSONObject . getString ( key : ĠString , Ġdef Value : ĠString Ġ= Ġ"") Ġ= Ġif Ġ( this . isNull ( key )) Ġ{ ĊĠĠĠĠĠĠĠ Ġdef Value ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . getString ( key ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® ID èİ·åıĸ æĴŃæĶ¾ åľ°åĿĢ ĊĠĠĠĠ Ġ* Ġbr = 1 2 8 k mp 3 Ġ è¿Ļä¸ª åıĤæķ° æİ§åĪ¶ MP 3 çļĦ çłģ çİĩ ï¼Į è¿ĻéĩĮ åı¯ä»¥ æıĲ åĪ° 2 5 6 3 2 0 ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Song Url ( song Id : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġ// http :// ku wo . cn / url ? format = mp 3 & rid = 1 5 7 1 9 1 5 6 3 & response = url & type = convert _ url 3 & br = 1 2 8 k mp 3 & from = web & t = 1 6 0 7 5 8 4 8 7 6 0 5 4 & https Status = 1 & req Id = 4 a 5 6 fb 6 1 - 3 ab 8 - 1 1 eb - ac 2 6 - d 7 ac 0 c 3 3 0 1 2 4 ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Resp Ġ= Ġget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" http :// ku wo . cn / url ? format = mp 3 & rid =$ song Id & response = url & type = convert _ url 3 & br = 1 2 8 k mp 3 & from = web & t =${ Date (). time }& https Status = 1 & req Id = 4 a 5 6 fb 6 1 - 3 ab 8 - 1 1 eb - ac 2 6 - d 7 ac 0 c 3 3 0 1 2 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= Ġ 1 5 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Refer er " Ġto Ġ" http :// ku wo . cn ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" User - Agent " Ġto Ġ" Mozilla / 5 . 0 Ġ( iPhone ; ĠCPU ĠiPhone ĠOS Ġ 9 _ 1 Ġlike ĠMac ĠOS ĠX ) ĠAppleWebKit / 6 0 1 . 1 . 4 6 Ġ( KHTML , Ġlike ĠGecko ) ĠVersion / 9 . 0 ĠMobile / 1 3 B 1 4 3 ĠSafari / 6 0 1 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( song Resp . statusCode Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsong Info Ġ= Ġsong Resp . jsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsong Info . getString (" url ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" èİ·åıĸ Url åĩºçİ° å¼Ĥå¸¸ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }