1

TEmbeddedWB の iframe 内で Youtube ビデオを再生することは常に機能していましたが、残念ながら現在は機能しなくなりました。Google は何かを変更して、ウェブ ブラウザが組み込まれたプログラムで動画を再生しないようにしましたか? 次の単純化された HTML ファイルがあります (どの Web ブラウザーでも完全に読み込まれ、再生されます)。

<!DOCTYPE html>
<html>
  <head>
    <title>A Video</title>
  </head>
  <body>
    <iframe width="640" height="360" src="http://www.youtube.com/embed/HnbMYzdjuBs?feature=player_detailpage" frameborder="0" allowfullscreen></iframe>
  </body>
</html>

私はこのコードでそれをロードします:

procedure TForm1.btn1Click(Sender: TObject);
begin
  EWB.LoadFromFile('D:\video.html');
end;

前述したように、このファイルを任意の Web ブラウザーで開くと、完全に開き、再生されます。しかし、黒い画面しか表示されず、何も起こりません。

編集 201306172342:

上記の HTML ファイルを Web サーバーに配置して移動しても、黒のままです。

WB.Navigate('http://www.mywebsite.com/video.html');

もちろん、Chrome などの Web ブラウザでこのページを表示すると、通常どおりビデオが表示され、再生されます。

誰でもこれを手伝ってくれますか???

4

1 に答える 1

3

ときどき、adobe は自分の ActiveX プログラムをコンピューターから削除しました。(これは通常、プラグインの更新で行われます) .
次回の更新時にこれが再びインストールされると思ったら、それは間違いです。

まず、これがすでに発生しているかどうかを確認する必要があります。

システム設定

Flash Player アイコンを探します。

ここに画像の説明を入力

追加のプロパティにnot installedが表示されます。
(彼らは、このメッセージをそのように定式化したほうがよいでしょう。
最後のプラグインの更新で削除されました)。

ここに画像の説明を入力

新しい aktivex パーツをダウンロードします。

Flash Player サポート センター

ここに画像の説明を入力

flashplayer_11_ax_debug.exe をダブルクリックし、指示に従います。

新しいコントロールが示します。それはすでに良く見えます。

ここに画像の説明を入力

アクティベックスパーツを取り付ける前に。
これをテストするために、小さなテスト プログラムを用意しました。(XP Sp3、Delphi 5)
使用したものは、上に投稿youtube.htmlしたものと同じです。video.html

unit youtube;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, OleCtrls, SHDocVw_EWB, EwbCore, EmbeddedWB, SHDocVw,
  MOZILLACONTROLLib_TLB;

type
  TForm1 = class(TForm)
    EmbeddedWB1: TEmbeddedWB;
    WebBrowser1: TWebBrowser;
    MozillaBrowser1: TMozillaBrowser;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  EmbeddedWB1.Navigate('http://www.moskito-x.de/stack/youtube.html');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  WebBrowser1.Navigate('http://www.moskito-x.de/stack/youtube.html');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  MozillaBrowser1.Navigate('http://www.moskito-x.de/stack/youtube.html');
end;

end.

を押した後Button1 to Button3、次のようになります

ここに画像の説明を入力

flashplayer_11_ax_debug.exe
をインストールすると、次のようになります。

ここに画像の説明を入力

Mozilla ブラウザーはまだ実行する予定です (今日ではない :-) )

aktivex フォルダーは次のようになります。

ここに画像の説明を入力

あなたの質問であなたは言った:

Playing a Youtube video inside an iframe in TEmbeddedWB has always worked,   
but now unfortunately it does not work anymore.

あなたの日付を見てください。FlashUtil32_11_7_700_???_Plugin.exe
それはあなたTEmbeddedWBが仕事をやめた時です。

于 2013-06-21T00:16:06.693 に答える