我期待了解如何構建一個Web應用程序,允許多個用戶在他們的計算機上同步查看相同的YouTube視頻。例如,synchtube.com或watch2gether.com如何在多個客戶端上同步播放YouTube視頻?
我正在尋找一個簡單的方法,可以使用通用的技術,如PHP
,jQuery
和Apache
實施。我目前正在考慮沿着輪詢方式(或彗星長輪詢,但需要更復雜的服務器設置,我希望避免),類似於Ajax
聊天應用程序的實現方式 - 即客戶端不斷檢查服務器以查看哪些視頻正在玩。不過,我懷疑這裏會有延遲問題,所以視頻不會完全同步。我想不出更好的方法。
對於開發人員社區,任何有關方法或代碼片段的幫助都非常感謝!
我能想到的唯一的事情是讓每個用戶選擇準備好。一切準備就緒後,將視頻推送到所有人。我會用php來研究一個pub/sub服務。我不確定你在瀏覽什麼瀏覽器,但是我發現各種websocket技術對於pub/sub都非常方便。大多數現代瀏覽器都支持這一功能。 – agmcleod
使用服務器來同步客戶端。然後,使用YouTube JavaScript播放器API播放視頻。見[這個答案](http://stackoverflow.com/questions/7443578/youtube-iframe-api-how-do-i-control-a-iframe-player-thats-already-in-the-html#7513356)爲一個簡單,易於理解的方法來播放視頻。對於更復雜的調用,例如獲取玩家的狀態和事件,請參閱[本答案](http://stackoverflow.com/questions/7988476/listening-for-youtube-event-in-jquery/7988536#7988536)。 –
即使所有用戶都在同一時刻開始播放視頻,但只要其他應用程序沒有使用某些帶寬,只有部分用戶的連接速度較慢才能跟上視頻流,會發生什麼情況?你是否讓所有的客戶都暫停一下,這樣沒有人會落後? – nnnnnn