2015-09-06 117 views
0

我試圖創建一個合作點唱機作爲一個學習Meteor的小項目,因此對於這個非常高級的noob問題表示歉意。用流星在多個客戶端上播放soundcloud流

我需要能夠在多個客戶端上調用soundcloud SC.stream(參見https://developers.soundcloud.com/docs/api/sdks#streaming)函數。所有的客戶都在尋找模板被綁定到看起來像一個對象:

room: { 
title: "roomname" 
currentlyPlaying: { 
    trackName: "track name" 
    trackStreamURL: "http://soundcloud/12345" 
} 
} 

我似乎身材不能出路,這樣,當一個客戶,說的管理,建立了新的currentlyPlaying觸發所有客戶端運行SC.stream並開始新歌曲。

我只是不確定什麼正確的流星功能在這種情況下使用,所以我沒有準確地尋找代碼解決方案,只是在正確的方向點。

在此先感謝。

+0

什麼是SC.stream?這段代碼來自哪裏? –

+0

對不起,重新閱讀並意識到它是模棱兩可的。它來自Soundcloud API https://developers.soundcloud.com/docs/api/sdks#streaming – absentees

+1

首先解決如何播放一首歌曲。然後,當管理員更改當前播放的歌曲時,要改變它,您應該在自動運行環境中使用反應變量,只要歌曲的URL發生變化,就會重新運行 –

回答

1

將當前正在播放的url保存到集合中的文檔中。然後在客戶端上使用cursor.observe()cursor.observeChanges()查看其中包含網址的文檔。在塊內執行Tracker.autorun

當網址發生變化時,停止播放上一首曲子並開始播放新曲目。

請參閱此處瞭解有關cursor.observe()的文檔。

+0

謝謝你的幫助Eliezer,工作的魅力。 – absentees