2013-10-22 25 views
0

在測試我的接收機的應用程序,看控制檯,我看到cast_receiver.js創建一條線,說:的Chromecast接收器應用程序 - 媒體狀態改變:time_progress事件

[ 3.034s] [cast.receiver.RemoteMedia] Media state changed: time_progress=false 

最終,該視頻被播放時,我得到一個消息,說:

[ 3.034s] [cast.receiver.RemoteMedia] Media state changed: time_progress=true 

有一個事件,我可以從RemoteMedia API將允許我以配合這個「time_progress」事件監控器?我試圖在視頻加載時隱藏並顯示加載器。目前,我基於來自視頻元素的'timeupdate'事件顯示並隱藏加載器,但是,此事件已證明對我來說不可靠。

感謝

回答

0

而不是試圖連接到上面的狀態信息時,你會好起來的只是連接到playing事件的video media element

+1

我以前試過這個,只是再次測試一下。一旦視頻開始加載,視頻元素「正在播放」事件就會觸發,但視頻仍然需要一段時間才能播放。我正在偵聽'timeupdate'事件,並在'timeupdate'首次更改時刪除加載器。問題是,有時視頻會加載並播放第一幀,然後再次加載,所以我的加載程序不見了,但視頻仍在加載。我唯一看到的是準確地顯示視頻播放的時間,而不是time_progress消息。有任何想法嗎? –

0

在發送方,如果time_progress更改,您將獲得狀態更新。在接收端,如果time_progress已更新,則不能直接註冊以通知它,但如果絕對需要,可以採用其他方法。正如萊斯提到的,聆聽視頻元素的事件是最好的選擇。

0

Mike,我在一個點上有類似的問題,我在time_update監聽器中使用了一個計數器,基本上跟蹤在刪除微調器之前調用了多少次time_update。通常我會發現2-4個電話,然後您可以確定該視頻正在播放。一旦計數器達到目標,我就從監聽器中刪除監聽器。缺點是你必須在視頻暫停時重新連接聽衆等。

+0

謝謝。我現在將當前時間從'timeupdate'事件四捨五入到最接近的小數點後10位,並將其與當前最後一次'timeupdate'進行比較(四捨五入),這似乎正在工作,但最終是一個工作 - 周圍的視頻播放器事件沒有在正確的時間開火。我仍然更喜歡實際的視頻播放器事件,但是除非我聽到有人知道這一點,否則這將不得不做。 –

相關問題