我和一个朋友正在编写一个生成HTML页面的c#应用程序,我们在尝试将YouTube视频嵌入该页面时遇到了一个问题,在我的电脑上,它运行和播放都很好,但在他的电脑上却不显示。他的flash似乎是最新的,他可以在另一台计算机上复制这个问题,但我根本无法复制它。
他可以去YouTube直接在网站上播放视频,但在另一个网站上运行任何嵌入式视频都会导致失败,我们试着复制它吐出的代码,制作我们自己的HTML文件并从那里播放,这对我来说很好,但对他来说不行。

    <object style="height: 100%; width: 100%;">
        <param name="movie" value="http://www.youtube.com/v/Cr-SqRWImmI?version=3&autohide=1&autoplay=1&controls=0&enablejsapi=1&showinfo=0&feature=player_embedded">
        <param name="allowFullScreen" value="true">
        <param name="allowScriptAccess" value="always">
        <embed src="http://www.youtube.com/v/Cr-SqRWImmI?version=3&autohide=1&autoplay=1&controls=0&enablejsapi=1&showinfo=0&feature=player_embedded"
            type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="100%" height="100%">
    </object>

编辑:c与问题无关。html youtube嵌入的视频不会显示在我朋友的电脑上的ie9中。我删除了标记,并用一个html标记替换了它。
edit2:我真的不知道为什么有人会在这个问题上否决我,但我提供了一个解决方案,如果有人遇到同样的问题,而不是删除线程。

最佳答案

我们最终使用javascript api嵌入视频和访问控件,并使用swfobject.js。当我们切换到那个方法时,渲染输出就在我朋友的机器上工作了。
编辑:这是代码示例。

<script type="text/javascript" src="swfobject.js"></script>
<div id="player">
    You need Flash player 8+ and JavaScript enabled to view this video.
</div>

<script type="text/javascript">

var params = { allowScriptAccess: "always" };
var atts = { id: "player" };
swfobject.embedSWF("http://www.youtube.com/v/Cr-SqRWImmI?version=3&autohide=1&autoplay=1&controls=0&enablejsapi=1&showinfo=0&playerapiid=player&feature=player_embedded",
                   "player", "100%", "100%", "8", null, null, params, atts);

</script>

10-05 20:34
查看更多