1) AndroidManifest.xmlファイルでHardwareAccelerateを使用する必要があることを宣言する必要があります。ビューが必要ない場合は、アクティビティレベルに調整できます。 、アクセラレーションを使用しないことを宣言できますが、次のようにコード内で行う必要があります:
a. アプリケーション全体をアクセラレーションする必要があることを宣言したい場合:
< application ... android:hardwareAccelerated ="true">
b.アクティビティ内で宣言したい場合:
<activity ... android:hardwareAccelerated="true" >, 还可以更细化到Window, getWindow.setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
アプリケーションまたはアクティビティがハードウェア アクセラレーションが必要であると宣言しているが、何らかの理由 (省電力など?) で一部のビューがハードウェア アクセラレーションを必要としない場合、
LAYER_TYPE_SOFTWARE,null); 2)
View メソッド を実装する必要があります。実装例を次に示します。
@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; } }
HTML5
VideoFullScreen の VideoSurfaceView サブクラスが見つかりません。また、このサブクラスはプライベート サブクラスでもあり、アクセスできません。外部からは android.jar に HTML5VideoFullScreen クラスはありません。アプリケーションでこのクラスにアクセスしたい場合は、パッケージforms/
実際、バージョンに関係なく、このコードの一般的な意味は、onShowCustomView メソッドでは取得したビューを現在のアクティビティの先頭に配置し、onHideCustomView では前のビューを非表示にするかdelete、元にカバーされていた Web ビューを元に戻して再生を終了します。そうでない場合は、MediaPlayer に報告されます。
IllegalStatusException が発生し、まだネイティブ メソッドであるため、まったくデバッグできません。 eclipseを使用してプロジェクトをインポートし、サンプルvideoをシステムの観点から見ると、/mnt/sdcardです。 効果は以下のとおりです: 全画面表示前: 全画面表示後:
以上がAndroid WebView で HTML5 ビデオの全画面再生をサポートする方法 (写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。