如何在webview中使用iframe播放vimeo视频?

时间:2013-04-09 07:05:47

标签: android iframe android-webview vimeo

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView wv=(WebView)findViewById(R.id.webView1);

        wv.getSettings().setJavaScriptEnabled(true);
        wv.getSettings().setAppCacheEnabled(true);
        wv.getSettings().setDomStorageEnabled(true);

        // how plugin is enabled change in API 8
        if (Build.VERSION.SDK_INT < 8) {
          wv.getSettings().setPluginsEnabled(true);
        } else {
          wv.getSettings().setPluginState(PluginState.ON);
        }
        String venkat="<iframe src=\"http://player.vimeo.com/video/27244727?portrait=0&color=333\" width=\"WIDTH\" height=\"HEIGHT\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>";
        wv.loadData(venkat,"text/html","UTF-8");
    }
}

从谷歌研究后我写了上面的代码但是没有用。在这里没有发生错误但是当我点击播放按钮进度条显示一段时间然后它消失并再次显示播放按钮...任何人都可以建议我如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

这样做:

<iframe src="//player.vimeo.com/video/VIDEO_ID" 
        width="515" 
        height="340" 
        frameborder="0" 
        webkitallowfullscreen mozallowfullscreen allowfullscreen>
</iframe>

答案 1 :(得分:1)

您必须在andorid清单中启用硬件加速功能。要在所有设备上使用vimeo视频,因此vimeo视频是html5类型的视频。

here is link of vimeo video play正在完美运作。

答案 2 :(得分:0)

const TheVideo = (props) => {
 const getVimeoUrl = (uri: string): string => {
        const value = uri.split("/");
        return value[value.length - 1];
    };
    enter code here

return (<>
 <iframe
                        src={
                            props.specificVideo?.url
                                ?.split("/")[2]
                                .startsWith("vimeo")
                                ? `https://player.vimeo.com/video/${getVimeoUrl(
                                      props.specificVideo?.url
                                  )}`
                                : props.specificVideo?.url ?? ""
                        }
                        width="{video_width}"
                        height="{video_height}"
                        frameBorder="0"
                        title={props.specificVideo?.title ?? ""}
                        className="specvideoview-frame"
                    ></iframe>
</>)
}

答案 3 :(得分:-1)

webView = (WebView)findViewById(R.id.presentation_webview);

        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setAllowFileAccess(true);
        webView.getSettings().setPluginsEnabled(true);
        webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); 

        DisplayMetrics displaymetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
        int height = displaymetrics.heightPixels;
        int wwidth = displaymetrics.widthPixels;

        Log.e("h & w",wwidth+"-"+height);

        String data_html = "<!DOCTYPE HTML> <html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:og=\"http://opengraphprotocol.org/schema/\" xmlns:fb=\"http://www.facebook.com/2008/fbml\"> <head></head> <body style=\"margin:0 0 0 0; padding:0 0 0 0;\"> <iframe width='"+wwidth+"' height='"+height+"' src=\"http://player.vimeo.com/video/"+VIDEO_ID+"\" frameborder=\"0\"></iframe> </body> </html> ";

        webView.setWebViewClient(new MyWebViewClient());

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

尝试以上代码并使用设备宽度和高度播放视频。

相关问题