-->
获得免费通行证,加入我们的流媒体连接-2月19日至22日; 现在注册!

检测流媒体播放器和连接速度教程

难道我们不都喜欢一个所有流媒体视频内容都可以用任何流媒体视频播放器播放的世界吗? 确定 ... 就像任何浏览器都可以呈现任何HTML页面一样? 不幸的是, 我们面对的现实是三大流媒体系统在很大程度上互不兼容. 更重要的是, 您的用户将使用各种操作系统, 吃嫩叶的动物。, 媒体播放器, 以及网络连接的类型. 这个问题的一个解决方案是选择一种要支持的流媒体格式. 如果您可以控制查看者计算机的配置,这可能是一个不错的选择, 就像在许多公司或教育机构一样. 如果你能做到这一点,这当然是一个非常划算的方法.

但如果你和我们大多数人一样, 您需要支持多种流媒体格式,以便让尽可能多的用户轻松访问您的内容. 好吧, 卷起袖子, 因为我们将使用一些代码来确定用户安装了哪些播放器, 以及他们的互联网连接上有多少带宽可以传输你的内容.  为简单起见,我们将这些信息设置在一个cookie中.  在现实世界的实现中, 您可以显示一个表单,让用户选择他们想要使用哪个播放器来查看您的内容, 或者您可以在服务器端读取cookie,并选择最适合其配置的流媒体格式. 

确定用户安装了哪些媒体播放器(或其他插件)需要两种主要方法:一种用于使用插件的浏览器,另一种用于使用ActiveX控件的浏览器.  

使用插件的浏览器: Opera、Mozilla、Netscape Navigator/Communicator、Macintosh上的IE以及非Windows上的任何浏览器

使用ActiveX的浏览器: Windows上的IE

让我们通过客户端代码来处理这些可能性. 首先,我们来看看检测插件. 清单1 显示了可以放置在HTML页面中的JavaScript代码片段. 浏览器将有关已安装插件的信息存储在一个插件对象数组中,该数组可从JavaScript访问. 首先,在第19行,我们仔细检查是否没有在Windows上打开IE. 然后,从第22行开始,我们开始检查plugins数组中每个插件的名称. 你会注意到,我们必须确切地知道插件的名称,以便检测它们. 你可以通过在浏览器的Location字段中输入“about:plugins”来查看这些插件. 如果我们找到一个匹配的插件, 我们为它添加一个简短的名称到我们的'playerString'变量(第27行), 31及35).

检查完所有插件后,您会希望将结果存储在有用的地方. 这就是制作cookie的目的——在用户的计算机上存储少量数据以供将来使用. cookie与主机站点的域名一起保存, 因此,只有生成cookie的网站才能读取它. 这意味着没有其他网站可以利用你在这里存储的信息——这只是你和你的用户之间的信息.

因此,第38行调用setCookie()函数,将playerString存储在名为“MediaPlayers”的cookie中.“如果你没有为你的饼干提供有效期, 当用户关闭浏览器时,它就会消失. 这里,我们任意选择将cookie设置为365天过期. 如果您安装了所有三个主要媒体播放器, 你的playerString看起来像这样:“REAL,QT,QT,QT,买理财产品买."  试一试!

我们不关心名字的顺序. 您的插件可能会有所不同,这取决于浏览器加载插件的顺序.  您可能还注意到,如果您使用Internet Explorer 5.5 SP2或6.Windows上的x, 你可能看不到QuickTime控件列表, 即使你知道你已经安装了QuickTime.  微软最近停止了对这些产品中的浏览器插件的支持, 支持他们自己专有的ActiveX控制体系结构.  如果你使用这些浏览器之一,或者你最近更新了IE5.5、苹果的QuickTime插件不再起作用.  为了规避这种变化, 苹果公司已经发布了ActiveX版本的QuickTime播放器 http://quicktime.apple.com

下一个代码块 清单1 让你为Windows上的IE用户做同样的事情.  因为这是用VBScript写的,其他浏览器会忽略这段代码.  在第49行到51行,我们尝试使用VBScript创建每个播放器的ActiveX实例. 我们只是检查每次尝试是否成功. 我们在插件示例中使用的JavaScript函数设置cookie值.

下一页:带宽检测

流媒体覆盖
免费的
合资格订户
现在就订阅 最新一期 过去的问题
提及的公司及供应商