Youtube видео не может начать играть в WebView Android - PullRequest
1 голос
/ 26 августа 2011

Мне нужно отобразить в webView в пользовательском диалоге.В любом случае, я могу загрузить сайт на YouTube и перемещаться по проблемным видео, но когда я хочу воспроизвести видео и нажать «Воспроизвести», ничего не происходит.Видео просто получает оранжевую вспышку, как будто оно выбрано, но не начинает загрузку и воспроизведение.В чем проблема?

Я нашел учебник в сети и пытаюсь его изменить.Вот код:

    dialog = new Dialog(this);
    dialog.setContentView(R.layout.dialog);

    pd = (ProgressBar) dialog.findViewById(R.id.web_view_progress_bar);

    webview = (WebView) dialog.findViewById(R.id.web_view);

    webview.getSettings().setPluginState(PluginState.ON);
    webview.getSettings().setJavaScriptEnabled(true);

    webview.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress) {
            if (progress < 100 && pd.getVisibility() == ProgressBar.GONE) {
                pd.setVisibility(ProgressBar.VISIBLE);
            }
            pd.setProgress(progress);
            if (progress == 100) {
                pd.setVisibility(ProgressBar.GONE);
            }
        }
    });

    webview.setWebViewClient(new YoutubeWebViewClient());
    //shouldOverrideUrlLoading(webview, this.getUrl());
    webview.loadUrl(this.getUrl());

    dialog.show();

}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) {
        webview.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}


private class YoutubeWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

Справка?

ОБНОВЛЕНИЕ:

Я пытался это сделать по-другому, но снова проблемы ...

Я пытаюсь встроить YouTube-плеер html5 в webView.Я только вернуть поле без YouTube видео.В правом углу webView находится знак YouTube, и на этом все.У вас нет телефона Android, тестируемого приложения на платформе Android x86.это проблема?

помогите :) не волнует способ реализации, мне просто нужно, чтобы это работало ^^

Ответы [ 2 ]

0 голосов
/ 28 августа 2012

это своего рода ошибка в Android WebView, насколько я нашел до сих пор, для меня то, что работало, просто добавляется Аппаратное ускорение разрешение в манифесте. После того, как видео, встроенное в мое веб-представление, начало воспроизводиться.

0 голосов
/ 08 сентября 2011

Я не знаю, почему, но класс webviewclient вызывает проблему, мы можем запустить его в браузере по умолчанию, удалить класс webviewclient и просто загрузить URL-адрес youtube, который вы сможете запустить на 2.2 для 2.1, просто используйте намерение и метод parse откройте его через приложение YouTube

startActivity (новое намерение (Intent.ACTION_VIEW, Uri.parse (String.format ("http://www.youtube.com/v/%s"))));}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...