我在我的網頁上嵌入了一個實時Facebook視頻,需要在視頻中放置事件處理程序。例如,我想知道視頻是否已暫停。如何在沒有xfbml.ready的情況下獲取Facebook直播視頻實例?
對於常規視頻(非實況)視頻,我可以通過使用Facebook文檔中列出的方法訂閱事件來完成此操作。下面是文檔:https://developers.facebook.com/docs/plugins/embedded-video-player/api和我的例子代碼:
FB.Event.subscribe('xfbml.ready', function (msg) {
if (msg.type === 'video') {
fplayer = msg.instance;
fplayer.subscribe('paused', facebookPauseEventHandler);
}
});
的問題是,嵌入實時視頻,而不是一個「按需」或預先錄製的視頻的結束,xfbml.ready事件時從不開火。這是有害的,因爲您需要響應,在這種情況下「msg」,以訂閱Facebook事件。
我試過使用'xfmbl.rendered'來代替,但事件被觸發時收到的消息只是'1'。
我也曾嘗試將事件處理程序放在由玩家本身對使用msg.instance進行的事件上,但由於跨源策略問題(Facebook播放器在iFrame內),這是不可能的。
這篇文章=>Unmute facebook live video也提出了一個類似的問題,涉及到xfbml.ready沒有射擊。
感謝您的幫助。
現在這是固定的我想,至少它的工作原理是:http://shoepimper.com/fb.html –