欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android中如何使WebView支持HTML5Video全屏播放-創(chuàng)新互聯(lián)

這篇文章主要介紹Android中如何使WebView支持HTML5 Video全屏播放,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站主要業(yè)務(wù)有網(wǎng)站營(yíng)銷(xiāo)策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、微信小程序、H5技術(shù)、程序開(kāi)發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開(kāi)展業(yè)務(wù)的過(guò)程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。 

1)需要在AndroidManifest.xml文件中聲明需要使用HardwareAccelerate, 可以細(xì)化到Activity級(jí)別,如果不需要的View可以聲明不要用加速,但是需要在代碼中做,具體如下:

   a. 如果要聲明整個(gè)應(yīng)用都要加速:

         < application
 ... android:hardwareAccelerated ="true">

b.  如果要在Activity中聲明,則:

                <activity
 ... android:hardwareAccelerated="true" >,
 還可以更細(xì)化到Window, getWindow.setFlags(  WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);                               
    WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,

c.   如果application或者activity都申明了要硬件加速,但是為了某些原因(比如省電?),一些View不需要硬件加速的話,

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

2)可以說(shuō)挺奇怪的是,需要在AndroidManifest.xml文件中用上<use-sdk></use-sdk>標(biāo)簽,而且如果是空的還不行,必須寫(xiě)上targetSDK或者minSDK,但是我試驗(yàn)過(guò),不管寫(xiě)版本是多少都沒(méi)有關(guān)系。。。理論上說(shuō),Android應(yīng)該是從3.0( API Level 11)開(kāi)始可以對(duì)2D渲染加速,但是我把targetSDK設(shè)置為5都可以使用的,但是這個(gè)標(biāo)簽不寫(xiě)還不行。

一般來(lái)說(shuō),上面的操作做了,就可以使用video標(biāo)簽播放視屏了,如果要支持全屏,還需要做一點(diǎn)操作:

1)給webview一個(gè)WebChromeClient對(duì)象,這個(gè)WebChromeClient對(duì)象需要實(shí)現(xiàn)onShowCustomView和onHideCustomView方法,下面是一個(gè)實(shí)現(xiàn)例子:

    @Override
               public void onShowCustomView(View
 view, CustomViewCallback callback) {
                      if (myCallback != null)
 {
                            myCallback.onCustomViewHidden();
                            myCallback = null ;
                            return;
                     }
                     
                      long id
 = Thread.currentThread().getId();
                     WrtLog. v("WidgetChromeClient", "rong
 debug in showCustomView Ex: " + id);
                     
                     ViewGroup parent = (ViewGroup) mWebView.getParent();
                     String s = parent.getClass().getName();
                     WrtLog. v("WidgetChromeClient", "rong
 debug Ex: " + s);
                     parent.removeView( mWebView);
                     parent.addView(view);
                      myView =
 view;
                      myCallback =
 callback;
                      chromeClient = this ;
              }
               private View myView = null;
               private CustomViewCallback myCallback = null;
              
              
               public void onHideCustomView()
 {
                     
                      long id
 = Thread.currentThread().getId();
                     WrtLog. v("WidgetChromeClient", "rong
 debug in hideCustom Ex: " + id);
                     
                     
                      if (myView != null)
 {
                           
                            if (myCallback != null)
 {
                                   myCallback.onCustomViewHidden();
                                   myCallback = null ;
                           }
                           
                           ViewGroup parent = (ViewGroup) myView.getParent();
                           parent.removeView( myView);
                           parent.addView( mWebView);
                           myView = null;
                     }
               }

    好吧,這個(gè)寫(xiě)法和網(wǎng)上很多寫(xiě)法不一樣,網(wǎng)上大部分的例子都是onShowCustomView方法接收到的view是一個(gè)VideoView對(duì)象,而這里是一個(gè)找不到的HTML5VideoFullScreen的VideoSurfaceView子類(lèi),而且這個(gè)子類(lèi)還是一個(gè)private的子類(lèi),在外面根本沒(méi)有辦法訪問(wèn)到,android.jar中也沒(méi)有HTML5VideoFullScreen這個(gè)類(lèi)。如果想要在application中訪問(wèn)到這個(gè)類(lèi),那么需要把<android-SDK-path>/platforms/<android-version>/data/layoutlib.jar這個(gè)包加到buildpath中,而且從android-14,也就是android4.0以后才這樣,也就是說(shuō),網(wǎng)上說(shuō)的那個(gè)方法在android3.0時(shí)代是可以用的,android4.0以后就不行了,我用的是android4.0.3。

    其實(shí)不管是什么版本,這個(gè)段代碼的大概意思就是,在onShowCustomView方法中,將獲取到的view放到當(dāng)前Activity的最上方,在onHideCustomView中,將之前的view隱藏或者刪除,將原來(lái)被覆蓋的webview放回來(lái),并結(jié)束播放,否在會(huì)報(bào)MediaPlayer IllegalStatusException, 而且還是Native method,根本沒(méi)法調(diào)試了。

    可以下載下來(lái),用eclipse導(dǎo)入工程,把樣例視頻放到sdcard根部目錄下,從系統(tǒng)角度看就是/mnt/sdcard即可。

    效果如圖:

全屏前:

Android中如何使WebView支持HTML5 Video全屏播放

全屏后:

Android中如何使WebView支持HTML5 Video全屏播放

以上是“Android中如何使WebView支持HTML5 Video全屏播放”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道!

網(wǎng)站題目:Android中如何使WebView支持HTML5Video全屏播放-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://aaarwkj.com/article4/gciie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、微信公眾號(hào)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)小程序開(kāi)發(fā)網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
欧美高清一区二区三区不卡 | 亚洲国产精品午夜福利在线播放 | 国产精品三级竹菊影视| 日韩精品一区免费电影| 午夜欧美日韩精品久久久| 亚洲黄色av在线免费观看| 抱着操才爽的免费视频观看| 99国产综合精品女| 欧美大片在线观看高清| 午夜一区二区三区精品| 亚洲理论在线观看电影| 亚洲人成网站18禁止人| 国产av一区二区三区日韩接吻| 日韩精品一二三区乱码| 午夜福利尤物一区二区| 国产国产精品人在线观看 | 麻豆黄片在线免费观看| 久久精品国产亚洲av品| 欧美国产日韩在线播放| 日日爱欧美精品亚洲成| 日本理伦片一区二区| 国产18成人午夜视频在线观看| 亚洲黄色av网址在线观看| 久久久精品国产亚洲av日韩| 中文字幕一区二区三区三级| 日韩精品视频一区二区在线观看| 天天操夜夜操夜夜操| 99热这里在线只有精品| 久久精品国产亚洲av不丁香| 最新欧美精品一区二区| 中文字幕制服国产精品| 亚洲精品二区在线播放| 俩小伙探花专约老熟女| 欧美黄片在线免费观看视频| 黄色录像免费看中文字幕| 精品人妻av区久久久| 国产视频专区一区二区| av熟妇人妻一区二区三区| 亚洲国产精品97视频| 尤物视频在线观看官网| 亚洲黄色大片在线免费观看|