我会尽量简短地说明......
我正在开展一个项目,我需要支持多个播放器和平台来播放视频。
主要平台将是:Windows PC,Mac PC,Apple Devices和Android。
这是我将遵循的优先顺序。首先,它将检查浏览器对Silverlight 3或更高版本的支持,然后是Flash,然后是HTML5。如果不支持其中任何一个,将要求用户安装Silverlight ..
我想知道我应该使用哪种模式和策略来支持此功能。目前我已经调查了一些javascript api,可以在客户端轻松地进行这种检测并适当加载播放器..但是因为许多浏览器可能没有javascript支持所以这种方法将无法播放视频..
有什么方法可以在服务器端进行此检测并在客户端注入适当的播放器HTML?
问候。
答案 0 :(得分:1)
在处理HTML5视频实现时,我发现这个问题很多。理想的优先级(在您的具体情况下)如下:
HTML5视频→回退到Silverlight→回退到Flash
我不确定您是否使用了两个回退,因为Flash通常被认为是本机视频的最佳后备 - 添加额外的回退会在我看来产生不必要的复杂性。
无论如何,HTML5视频传输是最佳用户体验,因为它不需要使用Javascript或第三方插件,并且默认情况下几乎可以在所有列出的平台上运行(Internet Explorer除外,尚不支持HTML5视频。)
代码看起来像这样:
<video width="640" height="480" controls>
<source src="video.mp4" type="video/mp4"> <!-- For Safari, Chrome, and mobile devices -->
<source src="video.webm" type="video/webm"> <!-- For newer builds of Firefox, Opera, and Chrome -->
<source src="video.ogv" type="video/ogg"> <!-- Fall back for Firefox, Opera, and Chrome -->
<!-- Insert code for Flash fallback here. If the browser can't load any of the sources above (Internet Explorer), it will load anything you put down here, including <object> and <embed> tags -->
</video>
如果您仍然打算添加Silverlight后备,则可以将其插入Flash后备代码正上方的视频代码中。它将按顺序处理它们。
希望这有助于您朝着正确的方向前进。
答案 1 :(得分:0)
AFAIK,客户端不会通知服务器他已禁用javascript。所以,你能做的最好就是让他们让js播放视频。