首頁 > web前端 > H5教程 > 主體

Android使WebView支援HTML5 Video全螢幕播放的方法分享(圖)

黄舟
發布: 2017-05-21 15:21:23
原創
3600 人瀏覽過

 1)需要在AndroidMan#ifest.xml

文件中聲明需要使用HardwareAccelerate, 可以細化到Activity級別,如果不需要的View可以聲明不要用加速,但是需要在程式碼中做,具體如下:


      a. 若要宣告整個應用程式都要加速:

         < application
 ... android:hardwareAccelerated ="true">
登入後複製
           b.  若要在Activity中宣告,則:#
                <activity
 ... android:hardwareAccelerated="true" >,
 还可以更细化到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)可以說挺奇怪的是,需要在AndroidManifest.xml檔案中用上標籤,而且如果是空的還不行,必須寫上targetSDK或minSDK,但是我有試驗過,不管寫版本是多少都沒關係。 。 。理論上說,Android應該是從3.0(

API Level 11)開始可以對2D渲染加速,但我把targetSDK設定為5都可以使用的,但這個標籤不寫還不行。           一般來說,上面的操作做了,就可以使用video標籤播放視屏了,如果要支援全屏,還需要做一點操作:

     1)給webview一個Web

ChromeClient物件,這個WebChromeClient物件需要實作onShowCustomView和onHideCustomView方法

####### ######       好吧,這個寫法和網上很多寫法不一樣,網上大部分的例子都是onShowCustomView方法接收到的view是一個VideoView對象,而這裡是一個找不到的###HTML5## #VideoFullScreen的VideoSurfaceView子類,而且這個子類別還是一個private的子類,在外面根本沒有辦法訪問到,android.jar中也沒有HTML5VideoFullScreen這個類別。如果想要在application中存取到這個類,那麼需要把/plat###for###ms//data/layoutlib.jar這個包加到buildpath中,而且從android-14,也就是android4.0以後才這樣,也就是說,網上說的那個方法在android3.0時代是可以用的,android4.0以後就不行了,我用的是android4. 0.3。 ##################       #########

       其實不管是什麼版本,這個段程式碼的大概意思是,在onShowCustomView方法中,將取得到的view放到目前Activity的最上方,在onHideCustomView中,將先前的view隱藏或刪除,將原來被覆蓋的webview放回來,結束播放,否在會報MediaPlayer IllegalStatusException, 而且還是Native method,根本沒辦法調試了。

       可以下載下來,用eclipse導入工程,把範例#影片放到sdcard根部目錄下,從系統角度看就是/mnt/sdcard即可。

       效果如圖:

  全螢幕前:

   


####################################### ###  全螢幕後: ##################   ####################    ###########    ###### ####

以上是Android使WebView支援HTML5 Video全螢幕播放的方法分享(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!