TEmbeddedWB中的Youtube视频不再有效了?

时间:2013-06-15 22:34:28

标签: delphi youtube-api delphi-xe2 twebbrowser

在TEmbeddedWB中的iframe中播放Youtube视频一直有效,但现在不幸的是它不再起作用了。谷歌改变了一些东西,停止在嵌入式网络浏览器的程序中播放视频? 我有以下简化的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;

正如我所说,在任何网络浏览器中打开此文件都会打开并完美播放。但我看到只有黑屏,没有任何反应。

编辑201306172342:

即使我将上述HTML文件放在网络服务器上并导航到它,它仍然是黑色的:

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

当然,在网页浏览器中显示此页面,例如Chrome会正常显示和播放视频!

请,任何人都可以帮助这个???

1 个答案:

答案 0 :(得分:3)

adobe不时从计算机上删除了他的activex程序。 (通常使用插件更新完成) 如果您认为下次更新时会再次安装,那就错了。

首先,您应该检查是否已经发生这种情况。

系统设置

查找Flash Player图标。

enter image description here

在额外属性中,您会看到未安装 (他们会以这种方式制定更好的信息 删除了最后一个插件更新。

enter image description here

下载新的aktivex部分。

Flash Player Support Center

enter image description here

双击flashplayer_11_ax_debug.exe并按照说明操作。

新控件指示。它已经看起来更好了。

enter image description here

安装aktivex部件之前。
为了测试这个,我准备了一个小测试程序。 (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后,我得到以下内容

enter image description here

安装flashplayer_11_ax_debug.exe后
我得到以下内容。

enter image description here

我将运行mozilla浏览器。(今天不是:-))

您的aktivex文件夹现在应该如下所示。

enter image description here

在你的问题中你说:

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停止工作的时间。