Chrome 和 Opera 不播放 application/x-director 视频

Chrome and Opera not playing application/x-director video

有一个包含嵌入式 youtube 视频的网站,其源代码为

<object width="300" height="200" 
   data="http://www.youtube.com/embed/G7S5GEp****" 
   type="application/x-director">
<param name="url" value="http://www.youtube.com/embed/G7S5GEp****" />
<param name="src" value="http://www.youtube.com/embed/G7S5GEp****" />
<param name="sound" value="true" /><param name="progress" value="true" />
<param name="autostart" value="true" />
<param name="swstretchstyle" value="none" />
<param name="swstretchhalign" value="none" />
<param name="swstretchvalign" value="none" /></object>

问题是 Opera 和 Chrome 不播放此视频,显示的是灰色屏幕 "This plug-in is not supported" 而不是视频。同时 IE 和 Mozilla Firefox 播放视频没有任何问题。我在两台不同的 PC 上检查了视频和浏览器的行为。

  1. 我发现 application/x-director 是一个 Adob​​e Shockwave Player 视频。所以我认为这就是问题所在。但是,IE 和 Firefox 在我的 PC 上没有安装 Shockwave 的情况下播放视频。我尝试安装 Shockwave,但 Chrome 和 Opera 在其 chrome://plugins 或 opera://plugins 中看不到 Shockwave 插件,并且仍然无法播放视频。

  2. 然后我发现当我使用 IE 或 Firefox 观看视频并用鼠标右键单击它时,我会得到它写的菜单 "About the html5 player" 当我去到我进入 youtube 页面解释 html5 并检查我的浏览器是否支持 html5 的页面(我的浏览器是最新的并支持它)。

    我还发现了 SO 问题 Embedding a shockwave file in HTML5,它告诉我视频的语法是 HTML5-语法:

<object data="..." type="application/x-director" ...></object>

如果能得到任何帮助,我将不胜感激。谢谢关注!

What is the best way to insert a youtube video into a site page in order it to be played correctly by most browsers?

大多数浏览器都希望将视频文件放在视频标签中。由于您使用的是 Youtube,因此您有一个页面 link (http) 而不是视频文件 (mp4),因此您必须在 i-frame 中加载该页面。当 Youtube 服务器看到请求时,他们将 return 一个视频播放器 link...

将显示的基于 <object> 的代码块替换为此 <iframe> 版本...

<iframe width="300" height="200"
src="https://www.youtube.com/embed/G7S5GEp****">
</iframe>

还有关于...

  • application/x-director是他们的一个小错误,应该是 application/x-shockwave.
    因为它不会阻止 机器 运行...

  • <object> 标签不适用于嵌入 http links。要嵌入 Flash 应用程序,请将 link 作为输入源放入 SWF 文件(Flash 的输出)。例如:如果 Android 应用程序可以嵌入到浏览器中,它们也会进入 <object>,其中 data="mysite/myapp.APK"...etc

  • 使用youtube.com/embed/得到一个基于HTML5的播放器(针对<iframe>标签),

  • 使用 youtube.com/v/ 提供基于 Flash 的播放器(对于 <object> 标签)。

  • 对于 Flash,设置 width="300" height="200" 对于来自另一台服务器的输入来说太小了,它会被特别是 Chrome 阻止,因为它注意到它是横幅尺寸( Flash 广告会被自动屏蔽)。必须至少有 width="800" height="600",否则这里唯一的解决方法是 Youtube SWF 应用程序(或任何其他 SWF)必须与您自己服务器中的 html 文件位于同一文件夹中。