Воспроизвести видео Vimeo на Android, URL-адрес видео, содержащий iframe
Здравствуйте, я работаю над приложением для Android, в котором я хочу воспроизводить видео Vimeo, я получаю ответ от Api в json и играю видео с помощью веб-просмотра, и он воспроизводится хорошо, но веб-просмотр отображается очень маленьким, и воспроизводимое видео также мало проблемы
- Я хочу, чтобы ширина воспроизводимого видео соответствовала ширине устройства Android. Я могу получить его из Displaymetrics, но как установить iframe?
- Я хочу раздуть пользовательский вид медиа-контроллера для воспроизведения видео. Пользовательский контроллер, как значок паузы воспроизведения
Я получаю такой URL-ответ от API
<iframe src="https://player.vimeo.com/video/video_id" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
на video_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);
Пожалуйста, предоставьте любое решение или ссылку, будем благодарны
2 ответа
Использовать стиль в HTML,
String url = "<iframe src=\"" + videoUrl + "\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>";
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");
изменить идентификатор и ширину. это работает.