如何在webview android上播放html5视频

时间:2012-02-08 12:53:19

标签: android webview html5-video

我正在尝试在网页视图中加载网页,其中网页中有视频。我能够在网络视图上加载网页,但视频没有播放,听到了音频。这是我加载到Web视图的链接。

http://html5videoformatconverter.com/html5-video-tag-example.html

我正在做的就是

  public class VideoActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    WebView mWebView = (WebView) findViewById(R.id.wvVideo);
    mWebView.setWebChromeClient(chromeClient);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);
    mWebView.loadUrl("http://html5videoformatconverter.com/html5-video-tag-example.html");

}
private WebChromeClient chromeClient = new WebChromeClient(){

    @Override
    public void onShowCustomView(View view, CustomViewCallback callback) {
        // TODO Auto-generated method stub
        super.onShowCustomView(view, callback); 
        if(view instanceof FrameLayout){
            FrameLayout frame  = (FrameLayout)view;
            if(frame.getFocusedChild()instanceof VideoView){
            VideoView video =  (VideoView)frame.getFocusedChild();
                frame.removeView(video);
                           video.start();

            }
        }

    }

};

}

请帮我修改我的代码。谢谢

4 个答案:

答案 0 :(得分:2)

Android浏览器和WebView在播放HTML5 <video>视频时存在许多已知问题。

Android webview cannot render youtube video embedded via iframe

除非您可以定位Android 4.0或优质现代公司战,否则当前的解决方法是将缩略图图像链接到视频,然后此链接会在原生Android视频播放器中打开视频。

有关Android上HTML5视频问题的详细信息,请随时搜索stackoverflow.com。

答案 1 :(得分:0)

正如@Mikko所说,这是一个棘手的领域。

要检查的一件事是您启用了硬件加速。当我关闭OP时,我会遇到完全相同的症状。

您可以在应用程序或活动级别启用它:

<application 
    android:icon="@drawable/icon_72" 
    android:logo="@drawable/icon_menu_72"
    android:label="@string/app_name"
    android:hardwareAccelerated="true"
    >

OR

<activity 
    android:name=".MyActivity"
    android:hardwareAccelerated="true"
    >

答案 2 :(得分:0)

当我遇到这个问题时,这是由于压缩类型。对于android我必须使用基本配置文件压缩而不是高配置压缩。 ffmpeg compatibility有说明。

我回答了类似的问题here

答案 3 :(得分:0)

我正在使用youtube嵌入式将我的移动网站转换为Android应用程序....这个项目帮助我摆脱了在webview中全屏显示的视频。我所有的问题都解决了。你可以从这里得到一些东西。 https://code.google.com/p/html5webview/