在 TEmbeddedWB 中的 iframe 内播放 Youtube 视频一直有效,但不幸的是现在它不再有效了。 Google 是否进行了更改以停止在具有嵌入式网络浏览器的程序中播放视频? 我有以下简化的 HTML 文件(可以在任何网络浏览器中完美加载和播放):
<!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 可以正常显示并播放视频!
请问有人可以帮忙吗???
最佳答案
Adobe 有时会从计算机中删除他的 ActiveX 程序。 (通常通过插件更新来完成)。
如果您认为下次更新时会再次安装它,那您就错了。
首先您应该检查这是否已经发生。
系统设置
查找 Flash Player 图标。
在额外属性中,您会看到未安装。
(他们最好以这种方式表达这条信息。
上次插件更新时已删除)。
下载新的 aktivex 部分。
双击 flashplayer_11_ax_debug.exe 并按照说明进行操作。
新的控件指示。看起来已经好多了。
安装 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 到 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
的日期
那是您的 TMembeddedWB
停止工作的时间。
关于delphi - TEmbeddedWB 中的 Youtube 视频不再工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128548/