是否可以从webview播放youtube视频,就像当我从浏览器访问YouTube网站时一样,并且视频开始播放时,它将以全屏播放视频。从webview播放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");
我想只有当用户点击“播放”的网页视图内YouTube视频,而不是之前启动YouTube应用。
需要显示整个频道,因此用户可以选择他想播放的视频,与从浏览器应用访问YouTube网站的行为相同。
编辑:建议我已经添加onShowCustomView()方法来处理播放点击,现在我得到一些uri,我如何在全屏视频播放中播放视频?
这意味着你不想发挥'webView'视频?如果是,那么你可以使用'overlay'视图并在该视图上设置'onClick'监听器来打开'youtube'应用。 –
我想知道哪个视频被点击了,所以我可以开始播放youtube视频。 – user22098