2014-11-25 102 views
0

不知道這是否可能,我配置了一個icecast服務器和流音樂,我想創建一個使用Java(或Grails)的網絡播放器。我設法獲取Java web應用程序播放音樂的Icecast是流,使用這樣的事情:問題與冰播音頻客戶端

AudioInputStream stream = AudioSystem.getAudioInputStream(new URL("http://localhost:8000/musicstation"))  

和幾行正在播放的音樂後,問題是,如果我關閉該標籤與網絡應用程序音樂不斷播放,我必須停止應用程序停止播放,但是當我再次啓動它並嘗試再次播放時,就好像icecast服務器在後臺繼續播放歌曲,我的意思是,它並沒有停止或暫停,因爲這我不能實現一個暫停動作,因爲如果我暫停,它實際上暫停的是網絡應用程序播放歌曲,但在背景中,icecast將繼續傳送歌曲,以便當我在暫停後再次播放時,歌曲將不會從暫停點繼續播放。

正在使用AudioInputStream實現icecast音頻客戶端的正確方法? 我希望我能解釋一下自己。 謝謝

回答

2

由於Icecast是一個流媒體直播服務器,因此顯然會繼續「玩」。如果你想實現暫停機制,你需要緩衝你從Icecast得到的內容並播放緩衝區。

+0

因此,如果我想創建一個類似spotify的播放器,您認爲icecast作爲流式傳輸服務器會是一個不錯的選擇嗎?我想要的是創建一個網絡播放器,用戶可以暫停,前進,停止等用戶正在播放的任何歌曲,不確定緩衝我從icecast獲得的內容是否是一種好方法,有什麼建議? – george969 2014-11-26 10:07:47

+0

還是開發自己的實時流協議(RTSP)的正確方法? – george969 2014-11-26 15:38:06

+0

Icecast不是正確的做法。一個普通的網絡服務器可以。 – ePirat 2014-11-27 10:40:00