0

我正在尝试从 WebView 播放 YouTube 频道。感觉就像我几乎得到它,但我有两个问题。因为在尝试加载 YouTube 频道 url 时有一些重定向,所以 shouldOverrideUrlLoading 方法似乎破坏了一些东西,我只是得到一个灰屏。

另一个问题是,如果我注释掉那条线并且频道加载,当我播放视频时,视频似乎加载,音频播放,但 youtube 的屏幕保持黑色。

这是我的代码

public class YoutubeActivity extends BaseActivity
{
    WebView webview = null;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);   

    webview = new WebView(this);
    webview.getSettings().setAppCacheEnabled(false);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setInitialScale(1);
    webview.getSettings().setPluginState(PluginState.ON);

    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });

    WebSettings webSettings = webview.getSettings();


    webSettings.setEnableSmoothTransition(true);
    webSettings.setLoadsImagesAutomatically(true);
    webSettings.setLoadWithOverviewMode(true);
    webSettings.setBuiltInZoomControls(true);        
    webSettings.setAllowContentAccess(true);
    webSettings.setSupportZoom(true);
    webSettings.setUseWideViewPort(true);



    webSettings.setJavaScriptEnabled(true);
    webSettings.setDomStorageEnabled(true);
    webSettings.setAppCacheEnabled(true);
    webSettings.setAppCachePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/cache");
    webSettings.setDatabaseEnabled(true);
    webSettings.setDatabasePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/databases");


    webview.loadUrl("http://www.youtube.com/g33ktalktv");     

有人知道如何解决这个问题吗?谢谢!

4

0 回答 0