mp4内容无法在提供给三星互联网浏览器的网页中播放

时间:2017-12-01 18:14:20

标签: cross-browser html5-video mp4 mpeg-dash

我有一个能够在除三星互联网浏览器之外的每个浏览器中播放mp4媒体(通过<video>标签和通过DASH)的网站,三星互联网浏览器默认出现在三星Galaxy手机上,可能还有很多其他浏览器三星设备。

在台式机,iPad或者古老的HP TouchPad平板电脑上,它运行良好。使用同一个三星设备(例如Chrome)上的其他浏览器,mp4媒体播放效果很好,因此不受Android或设备硬件的限制。

我可以使用JavaScript检测三星浏览器并禁用这些设备上的视频内容,但我真的不想这样做。当然有一种解决方法。

如果你想在你的设备上试试,这是一个快速测试。它试图在一个页面上播放3种略有不同类型的mp4媒体:

http://2pic.me/dashtest.html

在我的三星Galaxy S6上,它们都没有在三星互联网浏览器中播放。

我尝试使用video.js,但这并未改变行为。

更新

自我发布这一年以来,三星终于更新了他们的浏览器,现在mp4内容正常播放,包括自动播放。

3 个答案:

答案 0 :(得分:3)

我在Samsung Galaxy 7设备上遇到过三星浏览器(当前最新版本:v6.2.01.12)的相同问题。在我的情况下,我使用video.js,并播放HLS。 我发现的问题是自动播放不起作用。 我的解决方案是尝试以编程方式播放视频,如果检测到故障(承诺拒绝),则显示播放按钮,然后在用户点击中播放视频。这对我有用。 它会是这样的:

const video = document.getElementById('my-video');
video.play()
  .catch((err) => {
    if (err.name === 'NotAllowedError') {
      // Display PLAY button with a click event listener and play the video there.
    }
  });

这是一个简化的代码,我会进行特定的检查以查看my-video是否为实际<video>元素,以及video.play()是否返回承诺和所有基本安全检查(因为这是支持的)在许多其他浏览器中)。 但是,它显示了处理这种自动播放不工作场景的想法。

我希望它有所帮助!

答案 1 :(得分:1)

三星的移动浏览器当时似乎不支持HTML5媒体源扩展(MSE) - 这些是DASH播放所必需的。

您可以使用多个在线链接在浏览器上测试MSE支持,例如:

答案 2 :(得分:0)

对我来说很好,如果需要播放多个视频,您可以使用静音。

<pre>
  <video class="video" webkit-playsinline="" playsinline="" muted="" autoplay="" loop="" preload="auto" width="100%" height="auto" controles=""> 
    <source src="wp-content/uploads/talkforweb.com.au.mp4" type="video/mp4">
  </video>
</pre>