Chrome和Opera无法播放应用程序/ x-director视频

时间:2016-12-14 03:32:55

标签: html5 google-chrome flash youtube opera

有一个网站包含嵌入的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不播放此视频,显示灰色屏幕显示“不支持此插件”而不是视频。同时IE和Mozilla Firefox播放视频没有任何问题。我检查两台不同PC上的视频和浏览器的行为。

  1. 我发现 application / x-director 是Adobe Shockwave播放器视频。所以我认为这就是问题所在。但是,IE和Firefox在没有安装Shockwave的情况下播放视频。我尝试安装Shockwave,但Chrome和Opera没有在他们的chrome:// plugins或者opera://插件中看到Shockwave插件,但仍然没有播放视频。

  2. 然后我发现当我使用IE或Firefox观看视频并用鼠标右键点击它时,我会看到“关于html5播放器”的菜单,当我转到页面时我到youtube页面解释html5并检查我的浏览器是否支持html5(我的浏览器是最新的并且支持它)。

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

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

    • 所以我无法理解我的视频是Shockwave视频还是HTML5视频?我怎样才能让Chrome和Opera正确播放?
    • 我可以看到默认情况下很多浏览器都无法播放此源代码。将YouTube视频插入网站页面以便大多数浏览器正确播放的最佳方法是什么? (据我所知,它应该是一个html5视频,因为许多浏览器倾向于停止支持Adobe Flash产品)?

    我很感激能得到任何帮助。谢谢你的关注!

1 个答案:

答案 0 :(得分:1)

  

将YouTube视频插入网站页面的最佳方法是什么?   命令它被大多数浏览器正确播放?

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

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

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

也是关于......

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

  • <object>标记不适用于嵌入http链接。要嵌入Flash应用程序,请将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文件位于同一文件夹中。