mp4内容无法在提供给三星互联网浏览器的网页中播放
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mp4内容无法在提供给三星互联网浏览器的网页中播放相关的知识,希望对你有一定的参考价值。
我有一个网站能够在除三星互联网浏览器之外的每个浏览器中播放mp4媒体(通过<video>
标签和通过DASH),三星互联网浏览器默认出现在三星Galaxy手机上,可能还有很多其他三星设备。
在台式机,iPad,甚至是古老的HP TouchPad平板电脑上,它都能正常工作。使用同一个三星设备(例如Chrome)上的其他浏览器,mp4媒体播放正常,因此它不是android或设备硬件的限制。
我可以使用javascript检测三星浏览器并禁用这些设备上的视频内容,但我真的不想这样做。肯定有一个解决方法。
如果您想在设备上试用,这是一个快速测试。它试图在一个页面上播放3种略有不同类型的mp4媒体:
在我的三星Galaxy S6上,它们都没有在三星互联网浏览器中播放。
我尝试使用video.js,但这并未改变行为。
更新:
自我发布这一年以来,三星终于更新了他们的浏览器,现在mp4内容正常播放,包括自动播放。
我在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和所有基本安全检查(因为这在许多其他浏览器中都受支持)。但是,它显示了处理此自动播放不工作场景的想法。
我希望它有所帮助!
三星的移动浏览器当时似乎不支持html5媒体源扩展(MSE) - 这些是DASH播放所必需的。
您可以使用多个在线链接在浏览器上测试MSE支持,例如:
它对我很有用,如果需要播放多个视频,你可以使用静音检查:
<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>
以上是关于mp4内容无法在提供给三星互联网浏览器的网页中播放的主要内容,如果未能解决你的问题,请参考以下文章
iOS h5点播播放mp4视频遇到的坑,ios的h5不能播放视频等
HTML5 视频:ffmpeg 编码的 MP4 不在任何浏览器中播放(虽然在 VLC 中播放)