我已经开发了一个asp.net的移动页面来播放mp4视频 .
我知道iOS已禁用自动播放功能以最小化用户带宽,那么我如何在Android上自动播放HTML5 mp4视频?
我已经将自动播放放在HTML5代码中,但它不起作用 .
以下是我的代码:
<video autoplay controls id='video1' width='100%' poster='images/top_icon.png' webkitEnterFullscreen poster preload='true'>
<source src='http://192.xxx.xxx.xx/XXXXVM01.mp4' type='video/mp4; codecs='avc1.42E01E, mp4a.40.2' >
</video>
此外,我已经修复了用户点击图像叠加层可以播放视频的问题 . 谢谢Karthi
这是代码:
<script type="text/javascript">
$(document).ready(function() {
$("#video1").bind("click", function() {
var vid = $(this).get(0);
if (vid.paused) { vid.play(); }
else { vid.pause(); }
});
});
</script>
谢谢
乔
14 回答
这是PhoneGap的一个插件,它为我解决了这个问题:https://build.phonegap.com/plugins/1031
我只是将它包含在我的config.xml中
在Android 4.1和4.2中,我使用以下代码 .
html在哪里
这很好用 . 但在Android 4.4中,它不起作用 .
我不认为自动播放适用于Android,但是播放视频可能会非常棘手 . 我建议给这篇文章读一读:Making HTML5 Video work on Android phones .
您可以将“静音”和“自动播放”属性添加到一起,以启用Android设备的自动播放 .
例如
我使用了以下代码:
似乎没有办法自动启动 .
这使得它们第一次触摸屏幕时视频将播放 . 它也将在首次运行时自行删除,以便您可以避免多个侦听器累加 .
Android实际上有一个API!该方法是setMediaPlaybackRequiresUserGesture() . 经过大量的视频自动播放和大量的SO攻击后,我发现了它 . 这是blair vanderhoof的一个例子:
在Android 4.4及更高版本中,只要HTML5视频组件位于您自己的WebView中,就可以消除对用户手势的需求
要使视频自动播放,您仍需要为视频元素添加自动播放:
重要说明:请注意,如果在Chrome的设置中启用了Google Chrome数据保护程序,则会禁用自动播放 .
自动播放仅在第二次工作 . 在Android 4.1上你必须有某种用户事件才能让第一个play()工作 . 一旦发生这种情况,那么自动启动就可以了 .
这样用户就可以确认他们正在使用带宽 .
还有另一个问题可以解决这个问题 . Autostart html5 video using android 4 browser
类似于KNaito的回答,以下是我的诀窍
我简化了Javascript以触发视频开始 .
*“Files / snow.mp4”只是示例网址
可以添加
muted
标签 .参考https://developers.google.com/web/updates/2016/07/autoplay
Chrome已将其停用 . https://bugs.chromium.org/p/chromium/issues/detail?id=159336即使是jQuery play()也被阻止了 . 他们希望用户启动它,以便节省带宽 .