Bir YouTube böcek, topladığım detaylar için görünümü YouTubeAndroidPlayerAPI can't play some videos gibi görünüyor.
şu anda yeterli seviyede geçici çözüm bir niyet ile YouTube resmi uygulamada video açık olması veya bir WebView ile oyuncu fragmanının yerini görünmektedir. Bu ikinci çözümü tercih ettim.
Standart Web Görünümü çok sınırlıdır ve videoyu tam ekrana getirmek için düğmeyi göstermez. WebView'da videoyu Nihayet
WebView myWebView = (WebView)findViewById(R.id.webview);
MyWebChromeClient mWebChromeClient = new MyWebChromeClient();
myWebView.setWebChromeClient(mWebChromeClient);
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
yüklemek:
myWebView.loadUrl("https://www.youtube.com/embed/"+youtube_id);
İsterseniz için
public class MyWebChromeClient extends WebChromeClient {
FrameLayout.LayoutParams LayoutParameters = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
if (mCustomView != null) {
callback.onCustomViewHidden();
return;
}
mContentView = (LinearLayout) findViewById(R.id.scheda_video_activity);
mContentView.setVisibility(View.GONE);
mCustomViewContainer = new FrameLayout(SchedaVideoActivity.this);
mCustomViewContainer.setLayoutParams(LayoutParameters);
mCustomViewContainer.setBackgroundResource(android.R.color.black);
view.setLayoutParams(LayoutParameters);
mCustomViewContainer.addView(view);
mCustomView = view;
mCustomViewCallback = callback;
mCustomViewContainer.setVisibility(View.VISIBLE);
setContentView(mCustomViewContainer);
}
@Override
public void onHideCustomView() {
if (mCustomView == null) {
return;
} else {
mCustomView.setVisibility(View.GONE);
mCustomViewContainer.removeView(mCustomView);
mCustomView = null;
mCustomViewContainer.setVisibility(View.GONE);
mCustomViewCallback.onCustomViewHidden();
mContentView.setVisibility(View.VISIBLE);
setContentView(mContentView);
}
}
}
ve sonra WebView'ı başlatmak: Sen WebChromeClient uzatmak bir sınıf oluşturmak gerekir bunu YouTube oyuncuya WebView boyutlarını uyarlamak:
Point size = new Point();
getWindowManager().getDefaultDisplay().getSize(size);
myWebView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int)Math.round(size.x/1.77)));
herhangi bir cihazda çalışıyor mu? –
@VivekMishra: Galaxy S4, 5.0.1, 11.10.60 - No. HTC One M8, 6.0, 11.10.60 - No. HTC Desire 610, 4.4.2, 11.13.56 - Hayır. henüz bir tane buldum. –
Ayrıca, örnek kodu denedim ve kesinlikle sağladığınız video kimliğiyle çalışmıyor, ancak sizden aldığım birçok video kanalıyla çalışıyor ve iyi çalışıyor. –