一种基于JavaScript的网页在线播放列表
来源:用户上传
作者: 陈 健
摘 要: 随着网络技术的发展,当前出现了许多网络在线视听播放,而大多数网络在线视听播放只是为用户提供在线链接视听,没有为用户提供在线播放列表。本文作者设计了一种基于JavaScript的网页播放列表,可以保存用户喜欢的节目,并且用户可以自己编辑,丰富了网页在线视听的功能。
关键词: RealPlayer控件 Windows Media player控件 JavaScript 网页播放器 在线播放列表
1.引言
为了实现用户的对网页播放器的操作而不过多增加客户对服务器的操作,网页播放器可以采用ActiveX技术实现,把媒体播放器控件嵌入到网页中,然后通过编程语言来对控件进行控制以实现视听播放。用Real Player控件实现的网页播放器可播放大部分与微软Windows Media Player兼容的媒体档案格式,当中包括非串流处理的档案类型和串流处理的档案类型。网页播放器支持以循序及随机方式来播放媒体项目的功能,支持以正常方式及倒数方式动态显示曲目的时间长度;前者表示曲目已播放的时间,后者表示曲目剩余的时间。
2.做网页在线播放列表所使用的技术简介
2.1ActiveX控件在网页中的应用
ActiveX技术对网络的发展有着重要的作用。网页播放器和网页在线播放列表的实现主要得益于ActiveX技术和脚本语言。ActiveX控件用于网页的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。
2.2Real Player控件部分PARAM参数含义
Name:Autostart Value:True或是False作用:指定是否自动播放指定的源文件。
Name:Height Value:任何整数值作用:指定RealPlayer元素的高度,单位:像素。
Name:Loop Value:True或是False作用:可以让你指定片断是否无限循环。
Name:Nologo Value:True或是False作用:避免RealPlayer启动时在图像窗口中显示。
Name:Scriptcallbacks Value:用逗号分割的列表作用:指定浏览器的回调监控。
Name:Src Value:合法的URL地址作用:指定播放的文件或是源文件的地址。
2.3JavaScript语言简介
当我们把ActiveX控件嵌入到网页中要它实现一定的功能,必须要用一种脚本语言进行控制。JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,具有以下几个基本特点:(1)是一种脚本编写语言;(2)是基于对象的语言;(3)简单性;(4)安全性;(5)动态性;(6)跨平台性。
3.网页在线播放列表的设计
3.1网页在线播放列表的结构
整个网页在线播放列表主要由网页播放器、网页在线播放列表、bglist.js文件三个模块组成。网页在线播放列表的内容写在一个独立的文档中(bglist.js),用户可以把喜欢的节目都保存在这个文件中。bglist.js是一个Javascript文档。用户对播放列表的各种操作都是通过该文件进行。
3.2网页在线播放器的制作
为了制作一个功能丰富的网页播放器,我们必须要用到脚本语言对ActiveX控件进行控制。播放器的外观可用网页制作工具(如DreamweaverMX)制作一个。把这个网页播放器的主框架保存为music.htm。而各种播放功能则由几个辅助文件bglist.js、cnsidebud.js、imgchg.js、time.js来实现。
其中bglist.js这个文件主要是存放媒体文件的路径和信息,当网页播放器启动时会先调用此文件,然后网页播放器通过该文件中的曲目顺序来连接曲目进行播放。bglist.js这个文件由多个mkList()函数组成。该函数格式是:mkList(“歌曲路径”,“歌曲信息”,“间隔时间”,“是否加载列表(留空为加载,不加载填f)”)。cnsidebud.js文件里有许多的函数,对网页播放器进行初始化函数initExobud(),初始化函数首先为网页播放器动态的连接库函数wmp.dll(Windows Media Player播放器库函数),为网页播放器建立环境设定。然后查找在线播放列表上已经勾选的曲目进行连接播放。
本播放器是利用流播放事件实现的。
3.3网页在线播放列表的制作
首先用DreamweaverMX制作一个播放列表网页,保存为list.htm,这个页面中只需含有播放列表的背景和外框,内部没有任何内容,在运行时动态地调用显示控制播放列表函数(dspList(n))来显示在线播放列表上的曲目。
显示控制播放列表函数(dspList(n))主要是根据bglist.js这个文件来决定在线播放列表上显示的曲目内容,在线播放列表对曲目的控制功能主要也是由dspList(n)函数实现的。这个函数首先定义一个变量elmABlock,这个变量主要是控制在线播放列表上一次显示曲目的数量。totElm这个变量是统计在线播放列表上曲目的总数。totBlock这个变量是统计在线播放列表的页数。totBlock的值可以由Math.floor((via.intMmCnt-1)/elmABlock)得到。Math.floor(n)是一系统个函数,它的作用是返回一个不大于n的最大整数。Cblock变量表示在线播放列表显示的当前页。
用户可通过通过Add标签和Del标签对在线播放列表里的曲目进行添加和删除。为了用户更好地添加视听曲目,我把许多视听曲目的路径都保存在一个用Access创建的数据库中,取名为yule。此数据库中的几个表分别用来存放Flash、歌曲、音乐及电影等资源的URL。同时还建立一个名为user的数据库,在数据库里面建立一个用户信息表register。这个表里面记录了用户的相关信息当用户把在线播放列表的内容保存到用户信息表中,以后用户再登录时用户就可以打开上次保存的在线播放列表进行播放。
4.结语
通过JavaScript调用、控制ActiveX控件,能很好地实现客户端的各种视听播放功能,同时尽可能地减轻了服务器的负担。本在线播放列表的最大优点是用户可以定制,运行时几乎不占用服务器时间。由于是基于脚本语言JavaScript,当用户禁止执行脚本时系统将会无法实现上述功能,这是使用脚本语言的一个缺陷。因此本在线播放列表只适合在安全级别要求不高的场合使用。
参考文献:
[1]吴静,王鹏,鲁云.爪哇奇遇――JavaScript网络编程实例.北京:中国电力出版社,2004:1-13.
[2]蒋民.Javascript实例、技巧与应用.北京:清华大学出版社,2006:274-275.
转载注明来源:https://www.xzbu.com/9/view-978157.htm