【问题标题】:Play Vimeo video in Android , video url containing iframe在 Android 中播放 Vimeo 视频,包含 iframe 的视频 url
【发布时间】:2017-03-03 10:25:50
【问题描述】:

您好,我正在开发 android 应用程序,我想在其中播放 vimeo 视频,我从 json 中的 Api 获得响应并使用 webview 播放视频,它播放良好,但 webview 显示非常小,正在播放的视频是我的问题也很小

  1. 我希望播放视频的宽度要根据 android 设备的宽度。我可以从 Displaymetrics 获得它,但如何设置为 iframe?
  2. 我想扩展媒体控制器的自定义视图以播放视频。 自定义控制器,例如播放暂停图标

我从 api 得到这种 url 响应

 <iframe src="https://player.vimeo.com/video/video_id" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

在 video_id 我正在获取视频 ID

下面是我使用的代码

webView.setWebChromeClient(new WebChromeClient());
        webView.getSettings().setAllowFileAccess(true);
        webView.getSettings().setPluginState(WebSettings.PluginState.ON);
        webView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
        webView.setWebViewClient(new WebViewClient());
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);

        String data_html=getexplore_list.get(pos).getVideo_url();

        webView.loadDataWithBaseURL("http://vimeo.com", data_html, "text/html", "UTF-8", null); 

请提供任何解决方案或链接将不胜感激

【问题讨论】:

    标签: android iframe webview android-videoview vimeo-android


    【解决方案1】:

    在html中使用样式,

    String url = "<iframe src=\"" + videoUrl + "\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>";
    

    【讨论】:

      【解决方案2】:
      mViewHolder.webView.getSettings().setJavaScriptEnabled(true);
      String yourData = "<div id='made-in-ny'></div>\n" +
                  "\n" +
                  "<script src='https://player.vimeo.com/api/player.js'></script>\n" +
                  "<script>\n" +
                  "    var options = {\n" +
                  "        id: 59777392,\n" +
                  "        width: 540,\n" +
                  "        loop: true\n" +
                  "    };\n" +
                  "\n" +
                  "    var player = new Vimeo.Player('made-in-ny', options);\n" +
                  "\n" +
                  "    player.setVolume(0);\n" +
                  "\n" +
                  "    player.on('play', function() {\n" +
                  "        console.log('played the video!');\n" +
                  "    });\n" +
                  "</script>";
      mViewHolder.webView.loadData(yourData, "text/html; charset=utf-8", "UTF-8");
      

      更改 id 和宽度。它正在工作。

      【讨论】:

        猜你喜欢
        • 2016-12-28
        • 1970-01-01
        • 2013-05-18
        • 2016-06-01
        • 1970-01-01
        • 2018-12-09
        • 2020-06-12
        • 1970-01-01
        • 2013-03-31
        相关资源
        最近更新 更多