2

YouTubeビデオを埋め込もうとしている簡単なデモアプリケーションを作成しました。<object>使用しているタグはこちら

String urlTag = "<object><param name=\"movie\" value=\"http://www.youtube.com/v/opZ69P-0Jbc?version=3&feature=player_detailpage\">" +
            "<param name=\"allowFullScreen\" value=\"true\"><param name=\"allowScriptAccess\" value=\"always\">" +
            "<embed style=\"width:100%; height:100%\" src=\"http://www.youtube.com/v/opZ69P-0Jbc?version=3&feature=player_detailpage\" type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" allowScriptAccess=\"always\" width=\"200\" height=\"300\"></object>";

ビデオが埋め込まれており、正常に動作します。しかし、全画面表示ボタンをクリックすると、デモ アプリケーションがクラッシュします。SOの他のリンクを参照しましたが、役に立ちません。

このサイトで上記のコードを試しました(object タグを置き換えます)。それは正常に動作します。何がうまくいかないのかわからない。ありがとう。

更新 1: @DarkXphenomenon の推奨により、次のエラーが発生していることがわかりました。

java.lang.NullPointerException
android.webkit.PluginFullScreenHolder.show(PluginFullScreenHolder.java:85)

を追加することでエラーを取り除きましたwebView.setWebChromeClient(new WebChromeClient());。参照リンク. デモはクラッシュしなくなりましたが、フル スクリーン モードでビデオを再生することはできません。画面が空白になります。

更新 2:また、多くの場合、埋め込まれたプレーヤー全体が消えます。WebView のサンプル ApiDemo を確認したところ、そのようなことが起こっていることがわかりました。WebView はアイス クリーム サンドイッチでバグがありますか?

4

1 に答える 1

0

インテントを手動で起動して、ユーザーが好みのアプリでビデオを視聴できるようにすることができます。

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=xyz")));

また、URL を に設定することもできますvnd.youtube:<video_id>?<parameters> 。これにより、YouTube アプリケーションでビデオが強制的に再生されます。

編集: また、Web でプラグインとスクリプトが有効になっていることを確認してください。

    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);
于 2012-06-25T08:02:11.433 に答える