是否可以從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