1

わかりましたので、私はこれに少し取り組んでいて、Nexus 7 で iframe に埋め込まれている間に YouTube ビデオを動作させましたが、2.2 を実行している古い Samsung Intercept でテストし、ビデオのサムネイルを取得していますが、再生を押すと、黒いフレームに移動して停止します。現在使用しているコードは次のとおりです。

    int width = 0;
    int height = 0;
    Point size = new Point();
    WindowManager w = getWindowManager();

      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)
      {
            w.getDefaultDisplay().getSize(size);
            width = size.x;
            height = size.y; 
      }
      else
      {
            Display d = w.getDefaultDisplay(); 
            width = d.getWidth(); 
            height = d.getHeight(); 
      }

    WebView webView = (WebView) findViewById(R.id.welcomeVideo);
    String play= "<html><body><div align=\"center\"> <iframe class=\"youtube-player\" type=\"text/html\" width=\"" + width/2 + "\" height=\"" + height/4 + "\" src=\"http://www.youtube.com/embed/9DNAyD4ll6E?html5=1\" frameborder=\"0\"></div></body></html>";
    webView.setWebChromeClient(new WebChromeClient() {
    });
    webView.getSettings().setJavaScriptEnabled(true);
    if (Build.VERSION.SDK_INT < 8)
    {
        webView.getSettings().setPluginsEnabled(true);
    }
    else
    {
        webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    }
    webView.setHorizontalScrollBarEnabled(false);
    webView.loadData(play, "text/html", "utf-8");
    webView.setBackgroundColor(0x00000000);

ご覧のとおり、プラグインを有効にする、ブラウザーを Chrome として表示する、YouTube ビデオ リンクの末尾に HTML5=1 を追加するなど、いくつかのことを試しました。電話のバージョンが原因なのかどうかはわかりませんが、クライアントもテストして、機能していないと言いました(ただし、機能していない方法についてはまだ回答していません。全く別の問題)。互換性を最大限に高めるためにこれを行うより良い方法はありますか? そうでない場合は、インテントを使用して YouTube アプリを起動するだけかもしれませんが、クライアントは、サポートされているさまざまなデバイスを持ちながら、インテントをページに埋め込むことを非常に具体的に望んでいます。

ありがとう!

4

1 に答える 1

1

Android 2.1 および 2.2 では、Video Element が部分的にサポートされていました。

http://caniuse.com/#feat=videoを参照してください。

于 2013-02-19T21:06:48.917 に答える