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

问题描述 投票:1回答:3

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

在台式机,iPad,甚至是古老的HP TouchPad平板电脑上,它都能正常工作。使用同一个三星设备(例如Chrome)上的其他浏览器,mp4媒体播放正常,因此它不是Android或设备硬件的限制。

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

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

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

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

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

更新:

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

cross-browser html5-video mp4 mpeg-dash
3个回答
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()是否返回一个promise和所有基本安全检查(因为这在许多其他浏览器中都受支持)。但是,它显示了处理此自动播放不工作场景的想法。

我希望它有所帮助!


1
投票

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

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


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>
© www.soinside.com 2019 - 2024. All rights reserved.