2016-11-07 88 views
0

我是Android開發的新手。我想從Shoutcast服務器獲得元數據,並發現streamscraper是最容易使用的。但我的問題是,我不知道如何使用它。在如何使用它的網頁本身只表示喜歡的東西:Android Studio:如何使用streamscraper,獲取shoutcast元數據

import java.net.URI; 
import java.util.List; 
import net.moraleboost.streamscraper.Stream; 
import net.moraleboost.streamscraper.Scraper; 
import net.moraleboost.streamscraper.scraper.IceCastScraper; 

    public class Harvester { 
    public static void main(String[] args) throws Exception { 
     Scraper scraper = new IceCastScraper(); 
     List streams = scraper.scrape(new URI("http://host:port/")); 
     for (Stream stream: streams) { 
     System.out.println("Song Title: " + stream.getCurrentSong()); 
     System.out.println("URI: " + stream.getUri()); 
     } 
    } 
    } 

搜查任何地方,發現瞭如何使用這個沒有項目的樣本。我希望你們其中一位可以發佈如何使用它的代碼,或者爲它製作一個教程。

回答

-2

無需使用外部庫。以下頁面給你:

Current song:  http://yourstream:port/currentsong?sid=# 
Last 20 songs: http://yourstream:port/played.html?sid# 
Next songs:  http://yourstream:port/nextsongs?sid=# 

版本的Android的Java類打印當前歌曲:

import java.io.BufferedReader; 
import java.io.InputStreamReader;  
import java.net.URL; 

public class NowPlaying { 

    public void CurrentSong() { 

     try 
     { 
      URL url = new URL("http://www.mofosounds.com:8000/currentsong?sid=#"); 
      BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 

      String inputLine; 

      while ((inputLine = in.readLine()) != null) 
       System.out.println(inputLine); 

      in.close(); 
     } 
     catch(Exception e) 
     { 
      System.out.println(e.toString()); 
     } 
    } 
} 

注:nextsongs?sid=#功能必須通過流的播放器支持。

+0

@downvoter,解釋一下嗎?這是一個完美的工作示例。 –

+0

這不適用於所有流媒體服務器。大多數服務器不實現這些端點,包括大部分SHOUTcast版本。 – Brad