如何自动播放嵌入的Facebook视频?

10

这个页面演示了如何创建嵌入代码以将Facebook视频嵌入到外部网站中。

是否有一种方法可以在页面加载时自动开始播放?

8个回答

12

@abel 祝你好运,现在移动设备上很难自动播放任何视频。不过,这个答案仍然适用于桌面设备。 - SlickRemix
@SlickRemix 在 iMessage 上,Facebook 的视频链接在移动设备上会自动播放(已在 iOS12 上测试)。所以问题是这只是 iMessage 可以做到的还是所有人都可以。 - user1105951
@user1105951,这是有道理的,因为它是在Facebook平台上,但主要问题是关于嵌入Facebook视频的,这意味着将它们放在你自己的网站上。 - SlickRemix
iMessage 应用 = 苹果平台。 Facebook Messenger = Facebook 平台。 - user1105951
注意:这个URL模式适用于我的Google幻灯片演示。我将其作为链接放在幻灯片上,点击后会在新标签页中打开。 - Josh P

8
很不幸,Facebook的政策禁止自动播放内容(谢天谢地)。
我试图找到实际的政策文件,但被许多人谈论其在Facebook上的封禁淹没了(可能是指搜索结果)。你可以在StackOverflowWebApps上找到支持这种观点的问题。
StackOverflow是官方的Facebook开发者支持渠道,因此他们的用户可能更加了解这个话题。
也有可能一些神奇的jQuery可以模拟点击,但是Facebook更新代码如此频繁,以至于我怀疑任何黑客手段都不会持续太久。
最好的答案是使用YouTube或其他允许在其网络外共享视频的渠道。不要依赖一个明显不感兴趣分享其内容的网络的hack解决方案。
用户可以轻松更改他们视频的隐私设置,并且如果嵌入Facebook的内容变得流行,Facebook可能会尝试干扰它的嵌入能力。

谢谢,这很有帮助。有一篇帖子提到:“页面上的应用程序不得托管自动播放媒体,除非用户进行交互。”我认为他们的政策不适用于我在自己的网站上播放Facebook视频。 - uwe
1
@MotoTribe 的确,我也注意到了这个问题,但是因为政策的原因,我认为他们使用的 Flash 播放器无法自动播放。我尝试了许多标准的嵌入参数,但它都不支持。 - toomanyairmiles
1
看起来 Facebook 在自动播放政策上做了一个 U 形转弯,因为他们正在推出新闻源中的自动播放视频。 - user280109
现在,FB允许您在嵌入代码上使用简单的数据属性来自动播放。我已经编辑了答案以反映这一点。如果我这样做有什么问题,请告诉我。 - coagmano

3
截至最新的Facebook SDK,您可以通过在嵌入代码的div标签中添加data-autoplay="true"来 passively 播放视频。
参考链接:https://developers.facebook.com/docs/plugins/embedded-video-player
我刚刚在自己的项目上实现了这个功能,它确实可以工作,但目前它只会被动播放(静音模式)。这与您在Facebook上浏览新闻提要时看到的体验类似。用户必须手动取消静音。
希望这可以帮助到您。

3

对于Youtube,在用于自动播放视频的URL末尾添加&autoplay=1。例如:

如果要访问视频的URL为:

http://www.youtube.com/v/xxx

自动播放URL是:
http://www.youtube.com/v/xxx&autoplay=1

以上适用于Youtube,但Facebook有些不同:
在嵌入代码的部分中自动播放视频,请添加以下参数到您的网站代码:
<param name="autoplay" value="true">

这种方法同样适用于其他网站,特别是使用基于Flash的视频播放器的网站。

1
抱歉,那不起作用。你的示例是用于自动播放嵌入在 Facebook 上的 YouTube 视频。我要自动播放嵌入在外部网站中的 Facebook 视频。 - uwe
贾斯汀是正确的,但应该在视频ID之后加上“&autoplay=1”。 因此... value="http://www.youtube.com/v/xxxxx&autoplay=1" - Drai
4
我不是要在Facebook上嵌入YouTube视频,而是要在外部网站上嵌入Facebook视频,并自动播放。 - uwe
@MotoTribe 请查看修订后的答案。 - Justin Pearce

0

waitforclick

指示是否在允许时自动播放 Flash 对象(false)。 出于安全和美观原因,false 在配置文件中不起作用, 除非进行 AJAX 调用。默认值为 true。

https://developers.facebook.com/docs/reference/fbml/swf/

您需要将底部的示例代码更改为 Facebook 视频,就像您提供的链接中所解释的那样。

我没有尝试过,但也许会有所帮助。

祝好


0

由于我没有视频ID,无法进行测试,但添加“play”或“autoplay”参数可能有效:

<object width="400" height="224" >
 <param name="allowfullscreen" value="true" />
 <param name="allowscriptaccess" value="always" />
 <param name="movie" value="http://www.facebook.com/v/xxx" />
 <param name="autoplay" value="true" />
 <embed src="http://www.facebook.com/v/xxx" type="application/x-shockwave-flash"
   allowscriptaccess="always" allowfullscreen="true" width="400" height="224" autoplay="true">
 </embed>
</object> 

不行,那并不能达到预期效果。10150683565839444 可以作为一个视频 ID 进行测试。 - uwe

0

这里的答案有点过时,所以为了让你了解最新的情况,你可以查看Facebook文档获取所有细节。

简而言之:

以下是从Facebook嵌入视频的样子:

<html>
<head>
  <title>Your Website Title</title> 
</head>
<body>

  <!-- Load Facebook SDK for JavaScript -->
  <div id="fb-root"></div>
  <script>(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));</script>

  <!-- Your embedded video player code -->
  <div class="fb-video" data-href="https://www.facebook.com/facebook/videos/10153231379946729/" data-width="500" data-show-text="false">
    <div class="fb-xfbml-parse-ignore">
      <blockquote cite="https://www.facebook.com/facebook/videos/10153231379946729/">
        <a href="https://www.facebook.com/facebook/videos/10153231379946729/">How to Share With Just Friends</a>
        <p>How to share with just friends.</p>
        Posted by <a href="https://www.facebook.com/facebook/">Facebook</a> on Friday, December 5, 2014
      </blockquote>
    </div>
  </div>

</body>
</html>

以下 HTML 标签可将自动播放设置为 true:

<div class="fb-video" data-href="<video-post-url>" data-autoplay="true">

data-autoplay 的默认值当然是 false


-3

嵌入的视频类型并不重要。只需在嵌入视频的URL末尾添加代码

&autoplay=1

即可解决问题,使视频自动播放。


我刚刚查看了这个链接,之前没有注意到。在嵌入代码中添加<PARAM NAME=autoplay VALUE=true>这一行应该能够起作用。 - Jaryd Buggins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接