Android webview html5视频自动播放在Android 4.0.3上不工作



我开发了一个应用程序,用户可以在网页上设置视频:-他们可以指定一个Youtube URL或-他们可以上传视频

根据用户选择的选项,我像这样渲染视频页面:如果视频来自youtube:

<iframe type="text/html" width="640" height="385" src="http://www.youtube.com/embed/YOUTUBEID?autoplay=1&loop=1&autohide=1&fs=0"  frameborder="0"></iframe>

如果视频正在上传:

<video id="video" style="cursor: pointer;" width="640" height="480"  autoplay controls loop>
  <source src="../video/Tareas_Diarias_Resumen.mp4" type="video/mp4" />
</video>

OK。所有这些都可以在谷歌浏览器上完美运行,但事实是,视频将在16台三星GT-P5100 Android 4.03平板电脑上观看。

我们创建了一个嵌入webView的Android应用程序:

WebView engine = (WebView) findViewById(R.id.web_engine);
engine.setWebChromeClient(new WebChromeClient());
engine.getSettings().setPluginsEnabled(true);
engine.getSettings().setPluginState(PluginState.ON);
engine.getSettings().setJavaScriptEnabled(true);
engine.getSettings().setAllowFileAccess(true);
engine.loadUrl(miUrl);

这里我有两个问题:1- Youtube视频。它工作得很好,我可以看到视频,但没有自动播放,我们希望它能自动播放。有解决方案吗?2-上传的视频不工作,我可以看到播放器,但没有视频。

视频用手刹转换,选择iphone &ipod touch预设和"网页优化"选项。

有什么帮助或线索吗?提前感谢

自Android SDK 17起禁用自动播放,但您可以将setMediaPlaybackRequiresUserGesture设置为false以重新启用自动播放。不要忘记检查SDK版本,因为早期版本中没有此功能。

    int SDK_INT = android.os.Build.VERSION.SDK_INT;
    if (SDK_INT > 16) {
        engine.getSettings().setMediaPlaybackRequiresUserGesture(false);
    }

[升级为响应每个请求]

大多数移动平台(Android, iOS)上的自动播放被阻止以避免糟糕的用户体验-视频应该只在用户操作后播放。你通常可以通过触发另一个事件(例如onloaded事件)的play()来解决这个问题

Android 4.0。X,尝试触发事件:loadstart

var vid=document.getElementById('video');
vid.addEventListener("loadstart", showVideo, false);
function showVideo(e) {
  vid.play();
}

这是无法实现的,为了避免糟糕的用户体验,大多数移动平台(Android, iOS)都会屏蔽自动播放。看看这个:http://www.longtailvideo.com/html5/autoloop/

相关内容

  • 没有找到相关文章

最新更新