WebView で YouTube ビデオを再生する
-
21-09-2019 - |
質問
私の Android アプリには、Web サイトからの HTML データを表示する WebView があります。場合によっては、ページに YouTube 埋め込みオブジェクトが含まれることがあります。これはアプリでは正しく表示されません。WebView で YouTube ビデオを表示/再生する方法はありますか?ありがとう。
解決
あなたは彼らがおそらくフラッシュを持っているデバイスを除いて埋め込まれて表示することはできません。
あなたがYouTubeのビデオの詳細を解析することができますしかし、もし、あなたがYouTubeアプリケーションを持っているそれらのAndroidデバイスのために... YouTubeアプリケーションでそれらを表示しますACTION_VIEW
のIntent
を構築できる可能性があります。
また、私の知る限りでは、ブラウザアプリケーションでサポートされているHTML5の<video>
タグ、を試す可能性があるかもしれないのでWebView
で仕事ます。
他のヒント
この投稿を見つけました: リンク
実際、基本的にはアプリケーション マニフェスト XML に追加するだけで済みました。
android:hardwareAccelerated="true"
なんと、YouTube ビデオも再生され始めました。
webView.setWebViewClient(new WebViewClient()
{
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// YouTube video link
if (url.startsWith("vnd.youtube:"))
{
int n = url.indexOf("?");
if (n > 0)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("http://www.youtube.com/v/%s", url.substring("vnd.youtube:".length(),n)));
}
return (true);
}
return (false);
}
});
あなたのWebView(WebViewの)URLであなたにshouldOverrideUrlLoadingメッセージを送信することを次のようになります:
vnd.youtube:{VIDEO_ID} {PARMS}
http://www.youtube.com/v/ の{VIDEO_ID}に変換し、これを解析し、次いで手意図として、この改訂URLオフます。
私の作品...
ここの Android-Developers グループに関する私の投稿をお読みください。 エミュレータで YouTube を使用しますか?
基本的に、YouTube クリップを再生する最良の方法は、独自のアクティビティを作成することです。その良い例を次に示します。 アプリを磨きましょう:無料の埋め込み可能な Android YouTube アクティビティ!
アップデート:YouTube トークンの変更による非互換性の問題が修正されました。最新バージョンのコンポーネントは、公開されている YouTube ビデオで問題なく動作するはずです。
あなたは、YouTubeのプレイヤーの代わりにフラッシュの埋め込み HTML5バージョンにあなたのウェブサイトを切り替えてみてください可能性があり版。まだ、必ず、これは100%に動作しますが、それは明らかに、より良い現在のフラッシュをサポートしていないデバイス上のフラッシュ版よりも仕事になるだろう。
の編集のHTML5バージョンはまた、それはどのAndroidデバイスのように見えないH.264コーデックをサポートするブラウザが必要のようネヴァーマインドに見える現在サポート
。組み込みユーチューブの動画は、デスクトップブラウザでと(でもiPhone上のアプリの中に埋め込まれた)iPhoneのブラウザで正常に動作します。
は、AndroidのWebViewのでHTML5のビデオタグのライブラリIの使用があり、それはすべてのユーチューブの動画のために働くとだけでなく、ほとんどのフラッシュ動画は、サポートに入ると、他の機能の中でフルスクリーンを終了します。
により、