在Android webview中播放视频

时间:2012-05-10 09:02:22

标签: android video webview

我正在尝试在Android webview中播放视频。我做了我的谷歌研究并尝试了所有建议的例子,但不幸的是它们都没有。 这是我正在使用的:

webview.setWebChromeClient(new WebChromeClient() {

         @Override
         public void onShowCustomView(View view, CustomViewCallback callback) {
             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);
                     setContentView(video);
                     video.setOnCompletionListener(new OnCompletionListener() {

                        @Override
                        public void onCompletion(MediaPlayer mp) {
                            mp.stop();
                            setContentView(R.layout.loaddata_qrurl);
                        }
                    });
                     video.setOnErrorListener(new OnErrorListener() {

                        @Override
                        public boolean onError(MediaPlayer mp, int what, int extra) {
                            return false;
                        }
                    });
                     video.start();
                 }
             }
         }
         });

请问好吗?

2 个答案:

答案 0 :(得分:0)

这在Android 2.3及以上版本中是可行的。 只需在webview中调用index.html页面即可。和 将您的视频和index.html放在资产文件夹中。 这是按照我的经验工作的。

  1. 的index.html

    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    what is your name ?
        <input id="name" value="" />
        <button onClick="sayhello()">Say hello</button>
    
        <video width="260" height="320" controls="controls">
            <source src="swipe_tabs.mp4" type="video/mp4" />
            <object data="swipe_tabs.mp4" width="240" height="320">
                <embed src="swipe_tabs.mp4" width="240" height="320" />
            </object>
        </video> 
    </body>
    </html>
    

答案 1 :(得分:0)

我将视频文件放在RAW文件夹中,并通过以下代码访问default.html文件中的视频文件:

video.src ="android.resource://ProjectPackageAame/raw/test";
video.type = "video/mp4";      
video.load(); 
video.play();

它像我想要的那样播放视频。还在AndroidManifest文件中添加了以下行。

 android:hardwareAccelerated="true"

试试这个