阅读嵌入式视频播放器文档了解如何设置插件。
如要获取嵌入式视频播放器 API 实例,请侦听 xfbml.ready
。如果消息 type
为 video
,嵌入式视频播放器将触发 ready
事件。
var my_video_player; FB.Event.subscribe('xfbml.ready', function(msg) { if (msg.type === 'video') { my_video_player = msg.instance; } });
在以下代码示例中,我们假设您在初始化 JavaScript 版 Facebook SDK 时使用了应用编号。如果您还没有应用编号,请阅读创建应用编号文档。
在下方代码示例中,用应用编号替换 {your-app-id}
,用视频网址替换 data-href
。调用 FB.init()
函数后,请务必检查 xfbml.ready
事件。
<html> <head> <title>Your Website Title</title> </head> <body> <!-- Load Facebook SDK for JavaScript --> <script> window.fbAsyncInit = function() { FB.init({ appId : '{your-app-id}', xfbml : true, version : 'v3.2' }); // Get Embedded Video Player API Instance var my_video_player; FB.Event.subscribe('xfbml.ready', function(msg) { if (msg.type === 'video') { my_video_player = msg.instance; } }); }; </script> <div id="fb-root"></div> <script async defer src="https://connect.facebook.net/en_US/sdk.js"></script> <!-- Your embedded video player code --> <div class="fb-video" data-href="https://www.facebook.com/facebook/videos/10153231379946729/" data-width="500" data-allowfullscreen="true"></div> </body> </html>
如果在一个页面上使用了多个播放器,您可以通过向视频播放器标签添加 id
属性并检查 msg
对象中的 id
,以此识别播放器:
<div id="my-video-player-id" ... /> <script> FB.Event.subscribe('xfbml.ready', function(msg) { if (msg.type === 'video' && msg.id === 'my-video-player-id') { // True for <div id="my-video-player-id" ... my_video_player = msg.instance; } }); </script>
subscribe()
函数可以为指定事件添加侦听函数,例如 startedPlaying
。
var myEventHandler = my_video_player.subscribe('startedPlaying', function(e) { // Video started playing ... });
subscribe()
函数会返回一个口令,其中包含 release
方法,调用此方法会再次从事件中移除侦听程序。
myEventHandler.release('startedPlaying');事件参考
您可以调用一系列函数来控制视频播放器或获取它的当前状态,例如当前播放位置。
函数 | 说明 | 参数(类型) |
---|---|---|
| 播放视频。 | |
| 暂停视频。 | |
| 寻找指定位置。 |
|
| 视频设为静音。 | |
| 取消视频静音。 | |
| 视频设为静音时为 | |
| 将音量设置为指定数字( |
|
| 返回视频的当前音量( | |
| 返回当前的视频时间位置,精确到秒。 | |
| 返回视频时长,精确到秒。 | |
| 为指定事件添加侦听函数。关于事件的详细信息,请参阅订阅事件部分。返回一个口令,其中包含 |
|
事件 | 描述 |
---|---|
| 视频开始播放时触发。 |
| 视频暂停时触发。 |
| 视频播放完时触发。 |
| 视频开始缓冲时触发。 |
| 视频从缓冲恢复时触发。 |
| 视频发生错误时触发。 |