使用JavaScript控制网页嵌入Windows Media Player播放器

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:jiangwei_joy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文介绍了网页嵌入Windows Media Player播放器以及基本参数,并且介绍如何使用JavaScipt进行Windows Media Player播放器基本播放控制和播放列表添加的方法。
  关键词:网页;JavaScipt;Windows Media Player
  中图分类号:TP37文献标识码:A文章编号:1009-3044(2008)04-10ppp-0c
  
  Basic Control of Windows Media Player Embedded in Web Pages with JavaScipt
  SHEN Yu-bao1,2
  (1. Hefei University of Technology, Hefei 230009, China; 2.Hefei Nursery Teachers Training School, Hefei 230011, China)
  Abstract: This paper introduces a web page embedded in the Windows Media Player, as well as basic parameters, and how to use JavaScipt to the Windows Media Player for basic playback controls and playlists Add method.
  Key words: Web; JavaScipt; Windows Media Player
  
  1 网页嵌入Windows Media Player播放器
  
  1.1 网页播放技术简介
  “网页播放器,就是在网页上实现播放流媒体或本地媒体的一种应用。制作网页播放器,并不是真的在网页上“发明”了一种或几种播放器。目前所有的网页播放器基本上仍然都是用户本地的 Windows Media Player(简称 WMP)和 Real Player 在发挥实质作用。
  1.2 网页播放技术原理
  所谓网页播放技术,就是以网页代码的形式利用 WMP(Windows Media Player)或 Real 播放器本身的一些函数、事件和方法,如暂停、快进、全屏等等,在网页上实现对媒体文件的一种播放控制。网页播放器功能的多少,取决于对这些函数、事件和方法利用的多少。好的网页播放器就好像把真的WMP(Windows Media Player)或 Real 搬到了网页上一样,原因就是这种网页播放器将用户本地的WMP(Windows Media Player)或 Real 进行了淋漓尽致地控制。
  1.3 网页播放器的分类。
  在如今的互连网上网页播放器的表现形式大致有三大类:
  简单型,特点是功能简单,单曲播放。简单型不需要什么复杂的代码与语言,BBS惯用的 UBB 代码中的媒体播放就属于此类。
  扩展型,特点是功能齐全、美观大方、能够连续播放。扩展型均综合运用了JavaScript或VbScript语言来进行网页上的播放控制。
  Flash的SWF文件格式。
  还有一类还有一种少见的,那就是在网页上实现对Winamp的播放控制,原理跟上面的讲述是一致的。 “简单型网页播放器方法与应用”分含弹出式窗口网页播放器制作等。“扩展型网页播放器方法与应用”分含论坛内嵌播放器等。
  1.4 WindowsMediaPlayer网页播放器相关部分参数及含义
  WindowsMediaPlayer 控件在编程时经常要用到,以下以WindowsMediaPlayer 9.0控件为例。列举一些常用属性及方法,假设此控件名为player。见表1:
  
  图1
  部分代码如下:
  // JavaScript Document for SimpleControl.js
  var state;
  //初始化
  function playerinit()
  {
  player.settings.autoStart = true ;
  }
  //播放
  function play()
  {
  if (player.controls.isavailable(’play’))
  {
  player.controls.play();
  state=setInterval("updatetime()",1000);
  playerinfo.innerHTML = "播放";
  //显示媒体艺术家和媒体标题
  var str1=player.currentMedia.getItemInfo("Author") player.currentMedia.getItemInfo("Title");
  singerinfo.innerHTML= str1;
  }
  }
  //暂停
  function pause()
  {
  if (player.controls.isavailable(’pause’)) //isavailable() 返回命令当前是否已启用
  { player.controls.pause();
  clearInterval(state);
  playerinfo.innerHTML = "暂停";
  }
  }
  //停止
  function stop()
  { if (player.controls.isavailable(’stop’))
  { player.controls.stop();
  clearInterval(state);
  playerinfo.innerHTML = "停止";
  }
  }
  //前首
  function previous()
  {
  if (player.controls.isavailable(’previous’))
  {
  player.controls.previous();
  playerinfo.innerHTML = "前一首";
  }
  }
  //后首
  function next()
  {
  if (player.controls.isavailable(’next’))
  {
  player.controls.next();
  playerinfo.innerHTML = "下一首";
  }
  }
  //音量
  function volumedown()
  {
  if (player.settings.volume < 10)
  {
  player.settings.volume = 0;
  playerinfo.innerHTML = "0";
  }
  else
  {
  player.settings.volume -= 10;
  playerinfo.innerHTML = player.settings.volume;
  }
  }
  //音量
  function volumeup()
  {
  if (player.settings.volume > 95)
  {
  player.settings.volume = 100;
  playerinfo.innerHTML = "100";
  }
  else
  {
  player.settings.volume = 10;
  playerinfo.innerHTML = player.settings.volume;
  }
  }
  //静音
  function mute()
  {
  player.settings.mute = !player.settings.mute;
  //vmute.src=
  }
  //声道控制
  function balance()
  {
  switch (player.settings.balance)
  {
  case 0:
  player.settings.balance = 100;
  playerinfo.innerHTML = ’左声道’;
  break;
  case 100:
  player.settings.balance = -100;
  playerinfo.innerHTML = ’右声道’;
  break;
  case -100:
  player.settings.balance = 0;
  playerinfo.innerHTML = ’全声道’;
  break;
  default :
  player.settings.balance = 0;
  playerinfo.innerHTML = ’全声道’;
  break;
  }
  }
  //更新时间
  function updatetime()
  {
  playerinfo.innerHTML = player.controls.currentPositionString " | " player.currentMedia.durationString;
  }
  3 使用JavaScipt控制播放列表简单控制,部分代码如下:
  // JavaScript Document for AddMediaToList.js
  // 全选
  function selectall()
  {
  var selectAll = document.getElementsByName("song");
  if (selectAll!=null){
  for (var i=0;i  selectAll[i].checked = true;
  }
  }
  }//end of selectall
  //反选
  function unselect()
  {
  var unselect = document.getElementsByName("song");
  if (unselect!=null){
  for (var i=0;i  if (unselect[i].checked==true) {unselect[i].checked = false;}
  else{ unselect[i].checked =true;}
  }
  }
  } //end of unselect
  function addmedia(url)
  {
  // 取得当前的播放列表
  var playlist=player.currentPlaylist;//新建一个指定URL的Media。
  var currMedia = player.newMedia(url);
  //把新建的Media item添加到播放器列表
  playlist.appendItem(currMedia);
  } //end of addmedia
  //清空播放列表
  function clearlist()
  {
  //Player.currentPlaylist.count返回列表中的歌曲数量
  while (player.currentPlaylist.count>0) {
  var item =player.currentPlaylist.item(player.currentPlaylist.count-1);
  player.currentPlaylist.removeItem(item); //从播放列表中删除项
  }
  } //end of clearlist
  //播放选中的歌曲
  function addSeletedSongToPlayList()
  {
  clearlist()
  var selectItem = document.getElementsByName("song");
  // alert(selectItem.length);
  for(var i=0;i  {
  if (selectItem[i].checked==true)
  {
  addmedia(selectItem[i].value);
  }
  }
  if (player.currentPlaylist.count==0) alert("至少要选择一首歌曲");
  player.controls.play(); //让播放器开始播放
  } //添加文本输入框中的url到播放列表
  functionaddUrlToList(){
  addmedia(document.getElementById("song_url").value );
  //添加一行
  var newTr = table1.insertRow();
  //添加两列
  var newTd0 = newTr.insertCell();
  var newTd1 = newTr.insertCell();
  newTd0.innerHTML=’’;
  newTd1.innerHTML= document.getElementById("song_name").value;
  //设定新添加的复选框的值
  }//end of addUrlToList
  
  4 代码总结
  
  本文只是通过JavaScipt语言简单控制网页嵌入Windows Media Player播放器、在实际开发中,可以充分利用JavaScipt强大功能以及web开发语言和数据库实现个性化音乐网站的建设。使用JavaScipt语言可以更高级的功能、如支持lrc歌词等、迷你歌词、千千静听、酷狗等播放器就是很好得成功范例。在本例中,严格进行ActionScript变量定义和引用,使的设计思路明确,希望本例能够对充分发挥网页播放器挖掘和应用方面具有积极的意义。
  
  参考文献:
  [1]Michael Moncur. JavaScipt入门经典[M]. 人民邮电出版社,2007.
  [2]廖勇,周德松. 流媒体技术入门与提高[M]. 国防工业出版社,2006.
  
  作者简介:沈玉宝(1978-),男,安徽滁州人,合肥幼师现教中心讲师。
其他文献
摘要:本文采用文献资料法、问卷调查法和统计法,以近三年三峡大学体育学院跆拳道专项毕业生为调查对象,对其就业情况进行调查,结合当前就业形势与现实,针对跆拳道专项毕业生就业所存在的问题和不足,提出相应对策与建议。  关键词:跆拳道;毕业生;就业分析  中图分类号:G807 文献标识码:A 文章编号:2095-2813(2016)11(c)-0000-00  随着社会经济不断快速发展,我国高校大学毕业生
摘 要:文章通过问卷调查法对铜仁市参加高中生联赛的36支球队400余人进行了问卷调查,通过对调查数据的研究分析发现,高中这一阶段,在现阶段训练状况下,学生参加足球训练对学习的积极影响远大于消极影响,这一结论同传统的认识有了冲突和颠覆,其原因是在这一阶段,学生的学习压力较大,适当的有规律的体育锻炼,能够在一定程度上缓解学生的学习压力,在学习到体育运动技能的同时提高学习成绩,事实证明,学习和训练并不冲
摘要:本文简要介绍了IPv6数据包处理流程,重点阐述了嵌入式IPv6的核心协议:IPv6协议、ICMPv6协议和邻居发现协议的设计与实现。  关键词:IPv6;ICMPv6;邻居发现协议  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)06-00ppp-0c    The Design and Implementation of Embedded IPv6 Stack
摘要:SOA的概念已经诞生多年,业界对其商业模式也处于不断的讨论和摸索中,SOA可以译为面向服务的体系架构。普遍认为,SOA是面向全部IT资产的一种体系架构,通过以特定的规格将这些资产以服务的形式进行描述,可以实现服务的重复应用,从而提高IT资产的适应能力并更好地发挥效用。文章介绍了SOA的基础,包括SOA的体系架构及描述方法,通过实例分析了如何应用SOA进行软件的开发以及实现,以及如何有效的通过
摘要:传统的互联网协议IPv4协议存在地址空间匮乏、路由效率不高、安全性差、对移动性支持不好等缺点,严重阻碍了Internet的发展,下一代互联网协议IPv6彻底解决IPv4上述难题。  关键词:IPv4;Ipv6;头部  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)06-1pppp-0c    The Comparison Between IPv4/IPv6 He
摘要:信息系统集成、监理、第三方测试和审计,这些制度的实行使我国信息化质量逐步得到了提高,但是还很不规范,远远没有达到预想的水平,到底是什么制约了我国信息化建设的效果呢?本文试图找出其中的根本原因。  关键词:信息化;IT审计  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)06-10ppp-0c    On the IT Audit of the Construct
摘要:TCP/IP协议是目前使用最广泛的网络互连协议,但是由于TCP三次握手中不安全性,使得Internet具有先天性的不足。随着近几年Internet的迅猛发展,随之而来的网络安全事件开始频繁发生,各种攻击手段层出不穷。以SYN Flood为代表的DDoS攻击方式,是近年来出现的一种全新的极具破坏力的拒绝服务攻击方式。本文首先介绍了DoS的定义,目前的拒绝服务攻击的原理和特点,重点对SYN Fl
摘要:SYBASE公司的ASE数据库管理系统的客户端与服务器的模式确保了应用程序运行稳定性和高效性,但是这种方式使得应用系统的维护非常困难,数据服务器的安全性不高。文章分析了如何在确保这种模式的优点的同时如何解决系统维护困难,提高数据服务器的安全性,并提出一种有效的解决方法。  关键词:客户机/服务器;OPEN CLIENT;封装;安全性;系统维护  中图分类号:TP311文献标识码:A 文章编号
摘要:当今社会,数据无处不在,数据挖掘技术作为一种新的信息处理技术,从海量的数据中找出有潜在价值的数据规律或数据模型用人工的方式难以实现这个目标,Weka是一种可用于数据挖掘的工具,数据挖掘用户可使用Weka执行数据预处理,分类,回归,聚类,关联规则等任务以Weka自带的数据集为例,详细介绍作为易于使用的数据挖掘工具Weka的使用  关键词:数据挖掘工具Weka  中图分类号:TP311文献标识码
摘要:本文介绍了一个CORBA服务器接口测试工具CTester的设计和实现。CTester具有平台无关性、采用图形化GUI界面、支持脚本定义、采用动态调用DII等特点,为分布式系统的开发提供测试手段。  关键词:CORBA; DII; Java  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)06-11010-02  The Design and Implement