何が起こっているかの説明
ビデオ再生の作業を簡素化するために、Android開発者は 、必要なすべてのパラメーターとこのストリームを表示するVideoViewを備えたストリーミングプレーヤーの自動作成を既に追加しています。 開発者としては、このすべての富を正しく使用し、正しく処分するだけです。
Videoview
ユーザーがyoutubeのモバイルバージョンを示すWebViewのプレビューをクリックした後:

WebViewは、画面に表示する準備が整った既に実行中のVideoViewを含むWebChromeClientオブジェクトを呼び出します。タスクは、このViewがコンテンツをユーザーに表示できるようにすることです。 したがって、 onShowCustomViewメソッドでは、このコンポーネントを取得して処理し、現在のウィジェット階層に追加します。
@ Override <br/>
public void onShowCustomView ( View view, CustomViewCallback callback ) { <br/>
if ( mCustomView ! = null ) { <br/>
callback. onCustomViewHidden ( ) ; <br/>
} else { <br/>
mCustomView = view ; <br/>
mCustomViewCallback = callback ; <br/>
mWebView. setVisibility ( View . GONE ) ; <br/>
mMainContentContainer. addView ( view, CUSTOM_VIEW_LAYOUT_PARAMS ) ; <br/>
} <br/>
}
@ Override <br/>
public void onShowCustomView ( View view, CustomViewCallback callback ) { <br/>
if ( mCustomView ! = null ) { <br/>
callback. onCustomViewHidden ( ) ; <br/>
} else { <br/>
mCustomView = view ; <br/>
mCustomViewCallback = callback ; <br/>
mWebView. setVisibility ( View . GONE ) ; <br/>
mMainContentContainer. addView ( view, CUSTOM_VIEW_LAYOUT_PARAMS ) ; <br/>
} <br/>
}
ただし、現在のビューを変更したため、ビデオの視聴後または[戻る]ボタンをクリックしてサイトの閲覧を続行するには、階層の前の状態に戻す必要があります。これには、 WebChromeClientの別のメソッドonHideCustomViewを使用します。 その中で、VideoViewを閉じ、WebViewの表示を続けます。
@ Override <br/>
public void onHideCustomView ( ) { <br/>
if ( mCustomView ! = null ) { <br/>
mMainContentContainer. removeView ( mCustomView ) ; <br/>
mCustomViewCallback. onCustomViewHidden ( ) ; <br/>
mCustomView = null ; <br/>
mWebView. setVisibility ( View . VISIBLE ) ; <br/>
} <br/>
}
@ Override <br/>
public void onHideCustomView ( ) { <br/>
if ( mCustomView ! = null ) { <br/>
mMainContentContainer. removeView ( mCustomView ) ; <br/>
mCustomViewCallback. onCustomViewHidden ( ) ; <br/>
mCustomView = null ; <br/>
mWebView. setVisibility ( View . VISIBLE ) ; <br/>
} <br/>
}
これらの手順は、Android 2.2でYouTube動画を操作するのに十分です。
作業中のプロジェクトの例。