2017-03-03 172 views
0

你好,我正在android应用程序中,我想播放vimeo视频,我从json中获取API的响应并使用webview播放视频,并且播放效果很好,但是Webview是显示非常小,播放视频也小我的问题是在Android中播放Vimeo视频,包含iframe的视频url

  1. 我想播放视频宽度可根据Android设备的宽度。我可以从Displaymetrics得到它,但如何设置为iframe?
  2. 我想膨胀播放视频的媒体控制器的自定义视图。 喜欢玩暂停图标自定义控制器

我在VIDEO_ID得到这种URL响应从API

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

我得到的视频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); 

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

回答

0

使用样式HTML,

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

更改标识和宽度。这是工作。