ブラウザからYouTube Webサイトにアクセスしてビデオの再生を開始したときと同じように、WebビューからYouTubeビデオを再生することは可能ですか?ビデオをフルスクリーンで再生します。
これまでの私のコードは次のとおりです。
webView = (WebView) v.findViewById(R.id.webview);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.setWebChromeClient(new WebChromeClient() {
public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
super.onShowCustomView(view, callback);
if (view instanceof FrameLayout) {
final FrameLayout frame = (FrameLayout) view;
if (frame.getFocusedChild() instanceof VideoView) {
// get video view
VideoView video = (VideoView) frame.getFocusedChild();
Uri mUri = null;
try {
Field mUriField = VideoView.class.getDeclaredField("mUri");
mUriField.setAccessible(true);
mUri = (Uri) mUriField.get(video);
Log.d(TAG, "the uri is "+mUri.toString());
Intent i = new Intent();
i.setData(mUri);
i.setAction(Intent.ACTION_VIEW);
startActivity(i);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
});
webView.loadUrl("www.youtube.com");
ユーザーが以前ではなく、webview 内の YouTube ビデオで「再生」をクリックしたときにのみ、YouTube アプリを起動したいと考えています。
チャンネル全体を表示する必要があるため、ユーザーは、ブラウザ アプリケーションから YouTube Web サイトにアクセスするのと同じように、再生したいビデオを選択できます。
編集:再生クリックを処理するために onShowCustomView() メソッドを追加したことが示唆されているように、いくつかの uri を取得しました。フルスクリーンの videoview でビデオを再生するにはどうすればよいですか?