通过i-frame在android webview中加载Youtube视频

前端之家收集整理的这篇文章主要介绍了通过i-frame在android webview中加载Youtube视频前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想加载youtube视频到 android webview使用我的框架

这里是我的Xml布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:id="@+id/mainLayout">

<WebView
    android:background="@android:color/white"
    android:id="@+id/webView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
</RelativeLayout>

我的代码

public class WebTube extends Activity {

private WebView wv;

String html = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"http://www.youtube.com/embed/WBYnk3zR0os"
            + "?fs=0\" frameborder=\"0\">\n"
            + "</iframe>";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    wv = (WebView)findViewById(R.id.webView); 
    wv.getSettings().setJavaScriptEnabled(true);
        wv.loadDataWithBaseURL("",html,"text/html","UTF-8","");

     }
}

另外我提供< uses-permission android:name =“android.permission.INTERNET”/>

&安培;机器人:硬件加速=“真”

当我运行这个我没有得到任何结果,它只是显示一个黑色的屏幕

我尝试了this,但这提供了我的视频.3gp质量.但是,我需要YouTube上的原始质量视频.这就是为什么我正在使用iframe.有人帮我吗?

我尝试使用< object>< / object>和< video>< / video>而不是iframe.但它并没有解决我的问题.

当我运行这个代码在模拟器它显示

按下播放按钮之前

按下视频播放按钮后

我认为我们无法在模拟器上流式传输视频,因为它是虚拟设备

但是当我在手机上运行时,甚至没有显示这个结果.

我尝试我的框架与一个文件附加到它在电话以及仿真器工作正常

String customHtml = "<iframe src='http://docs.google.com/viewer?url=http://www.iasted.org/conferences/formatting/presentations-tips.ppt&embedded=true' width='100%' height='100%' style='border: none;'></iframe>";

所以请帮我加载视频到这个框架.你能告诉我我的代码出了什么问题吗?

(我在电话里运行)可以有人告诉我有什么问题吗?
还会iframe在Android 2.1上工作吗?

有没有人试过Youtube Api

解决方法

android Webview documentation年所述,

HTML5 Video support

In order to support inline HTML5 video in your application,you need to have hardware acceleration turned on,and set a WebChromeClient.

For full screen support,implementations of onShowCustomView(View,WebChromeClient.CustomViewCallback) and onHideCustomView() are required,getVideoLoadingProgressView() is optional.

猜你在找的Android相关文章