YouTube動画がWebViewで再生されない - Android

私はWebViewでYouTubeのビデオを再生しようとしている、WebViewは、再生ボタンでビデオの最初の外観を示すが、再生ボタンをクリックした後、プログレスバーを開始し、2〜3秒後にプログレスバーを停止し、画面が黒い色で空白になります。

画像1:再生ボタンが付いたビデオのファーストルック

画像2:再生ボタンをクリックすると、画面が真っ白になります。

なぜビデオが始まらないのか、教えてください。

IMAGE:1 .

画像:2

これは、YouTubeVideoをWebViewで再生するためのソースコードです。私を助けてください...

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView wv = (WebView) findViewById(R.id.webView1);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginsEnabled(true);
    final String mimeType = "text/html";
    final String encoding = "UTF-8";
    String html = getHTML();
    wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
}

public String getHTML() {
    String html = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"http://www.youtube.com/embed/"
            + "J2fB5XWj6IE"
            + "?fs=0\" frameborder=\"0\">\n"
            + "</iframe>\n";
    return html;
}
ソリューション

WebViewにHTMLコンテンツを読み込む前に、これらの行を追加してください。

wv.setWebChromeClient(new WebChromeClient() {
});

ドキュメントより

アプリケーションでインライン HTML5 ビデオをサポートするには、ハードウェア アクセラレーションをオンにし、WebChromeClient を設定する必要があります。フルスクリーンをサポートするためには、onShowCustomView(View, WebChromeClient.CustomViewCallback) と onHideCustomView() の実装が必要で、 getVideoLoadingProgressView() はオプションとなります。

解説 (5)

モバイル端末で配信しているyoutbeの動画に不具合が発生しています。直接WebビューでURLを読み込んで実行しようとすると、動画が再生されないのです。この問題を解決する難しい方法の1つは、ビデオビューでビデオをストリーミングすることです。この問題を解決する難しい方法として、ビデオビューでビデオをストリーミング再生する方法があります。ユーザーエージェントとは、youtubeの動画がどのようなデバイスで再生されるかを示すもので、それに応じてサーバーからそのようなWebページが送信されます。こうすることで、youtubeのビデオをストリーミング再生することができます。以下はその方法です:

public static final int USER_MOBILE  = 0;
public static final int USER_DESKTOP = 1;
wv.getSettings().setUserAgent(USER_DESKTOP);   // 1 is for the desktop
解説 (2)

なぜ、YouTubeの動画をWebViewで再生したいのですか?このインテントを使用すると、それを再生することができます

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(stringUrl)));

その他、WebViewで再生する場合は、以下のリンクを参照してください。

https://stackoverflow.com/questions/9565533/android-how-to-play-youtube-video-in-webview?rq=1

解説 (0)