首页 文章

Android webview html5视频自动播放不适用于Android 4.0.3

提问于
浏览
9

我开发了一个应用程序,用户可以在网页上设置视频: - 他们可以指定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>

好 . 所有这一切在谷歌浏览器上都很完美,但事实是该视频将在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预设和“Web优化”选项 .

任何帮助或线索?提前致谢

4 回答

  • 4

    这是无法实现的,大多数移动平台(Android,iOS)上的自动播放被阻止,以避免糟糕的用户体验 . 看看这个:http://www.longtailvideo.com/html5/autoloop/

  • 8

    [升级为按要求回答]

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

  • 26

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

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

    对于Android 4.0.x,请尝试触发事件:loadstart

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

相关问题