欢迎来到山村网

PaymentOne将推出HTML5营运支付应用

2019-03-30 09:33:22浏览:133 来源:山村网   
核心摘要:如今HTML已经是比较热门的了,各种关于HTML5的应用程序、游戏、应用商店等也如火如荼的展开了。各大主流浏览器也纷纷开始支持HTM

如今HTML已经是比较热门的了,各种关于HTML5的应用程序、游戏、应用商店等也如火如荼的展开了。各大主流浏览器也纷纷开始支持HTML5标准,以备打赢新的一轮浏览器大战。请查看:谷歌Chrome打造Web平台新航母:拭目以待(http://tech.it168.com/a2012/0217/1313/000001313414.shtml)

话不多说,不知道大家有没有发现,可以用比较新的版本的谷歌浏览器直接打开.mp3格式的音乐。自己可以试试:

这是用谷歌浏览器直接打开mp3文件的情况。 其实,许多新的浏览器都开始支持HTML5中标签,使得一些格式的流媒体可以摆脱对插件的依赖。 下面我就以标签做一个简易的音乐播放器.

控件可以通过一些内置的Javascript函数和特性进行控制,以及进行二次开发。例如load()、play()、pause()等控制音频播放的函数,paused、ended、currentTime、startTime等属性等.

对于这个简易播放器具有播放暂停、快进、快退等功能,结合对象绘制图形

  1. <%@language='javascript'%>
  2. <html>
  3. <head>
  4. <title>PlayMusic</title>
  5. <styletype=”text/css”>
  6. div.s{position:absolute;left:100px;top:200px;width:600px;}
  7. audio{width:600px;position:absolute;left:0px;top:100px;}
  8. canvas{position:absolute;left:0px;top:40px;}
  9. marquee{position:absolute;left:250px;top:180px;}
  10. h1{color:Red;}
  11. h1.a{color:Green;position:absolute;left:200px;top:50px;}
  12. </style>
  13. </head>
  14. <body>
  15. <h1class=”a”>欢迎使用HTML5播放器</h1>
  16. <%
  17. varname=Request.QueryString(“name”);
  18. if(name==”")
  19. name=”";
  20. name1=”save_music”+name+”.mp3″;
  21. //Response.Write(name);
  22. %>
  23. <marqueebehavior=scrollscrolldelay=200scrollamount=30width=”300″><h1><%=name%></h1></marquee>
  24. <divclass=”s”>
  25. <canvaswidth=”600″height=”60″id=”MusicCanvas”onclick=”dealclick()”></canvas>
  26. <audioid=”music”src=http://www.shancun.net/skin/default/image/nopic.gif style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">您的浏览器不支持HTML5中的audio标签
  27. </audio>
  28. </div>
  29. </body>
  30. </html>
  31. <scripttype=”text/javascript”>
  32. varc=document.getElementById(“MusicCanvas”);
  33. varcccon=c.getContext(“2d”);
  34. vartoggle=document.getElementById(“music”);
  35. drawPS();
  36. drawQuick();
  37. functiondrawPS()//flag=1表示播放命令,flag=0表示暂停
  38. {
  39. con.save();
  40. con.beginPath();
  41. varg=con.createRadialGradient(275,30,0,275,30,25);//创建渐变颜色
  42. if(toggle.paused)//暂停状态
  43. {
  44. g.addColorStop(0.2,”#1FD856″);//
  45. g.addColorStop(0.8,”black”);//
  46. toggle.play();
  47. }
  48. else//播放状态
  49. {
  50. g.addColorStop(0.2,”red”);//黄
  51. g.addColorStop(0.8,”black”);//
  52. toggle.pause();
  53. }
  54. con.fillStyle=g;
  55. con.arc(275,30,25,0,Math.PI*2,true);
  56. con.fill();
  57. con.closePath();
  58. con.restore();
  59. }
  60. functiondrawQuick()//
  61. {
  62. con.save();
  63. con.beginPath();
  64. con.fillStyle=”grey”;
  65. con.fillRect(130,10,70,40);
  66. con.fillStyle=”black”;
  67. con.moveTo(130,30);con.lineTo(145,13);con.lineTo(165,13);con.lineTo(150,30);con.lineTo(165,47);con.lineTo(145,47);con.lineTo(130,30);
  68. con.fill();
  69. con.moveTo(160,30);con.lineTo(175,13);con.lineTo(195,13);con.lineTo(180,30);con.lineTo(195,47);con.lineTo(175,47);con.lineTo(160,30);
  70. con.fill();
  71. con.closePath();
  72. con.beginPath();
  73. con.fillStyle=”grey”;
  74. varx=350;
  75. con.fillRect(x,10,70,40);
  76. x+=70;
  77. con.fillStyle=”black”;
  78. con.moveTo(x,30);con.lineTo(x-15,13);con.lineTo(x-35,13);con.lineTo(x-20,30);con.lineTo(x-35,47);con.lineTo(x-15,47);con.lineTo(x,30);
  79. x-=30;
  80. con.moveTo(x,30);con.lineTo(x-15,13);con.lineTo(x-35,13);con.lineTo(x-20,30);con.lineTo(x-35,47);con.lineTo(x-15,47);con.lineTo(x,30);
  81. con.fill();
  82. //con.moveTo(160,40);con.lineTo(175,23);con.lineTo(195,23);con.lineTo(180,40);con.lineTo(195,57);con.lineTo(175,57);con.lineTo(160,40);
  83. con.fill();
  84. con.closePath();
  85. con.restore();
  86. }
  87. functiondealclick()//处理敲击事件
  88. {
  89. varx=event.clientX;
  90. vary=event.clientY;
  91. varflag=getPos(x,y);
  92. //alert(x.toString()+””+y.toString()+””+flag.toString());
  93. if(flag==0)
  94. return;
  95. switch(flag)//
  96. {
  97. case1:drawPS();break;
  98. case2:quickOrslow(0);break;
  99. case3:quickOrslow(1);break;
  100. }
  101. }
  102. functiongetPos(x,y)//
  103. {
  104. varpx=100;
  105. varpy=240;
  106. x-=px;
  107. y-=py;
  108. if(x>=275&&x<=325&&y>=15&&y<=65)
  109. return1;
  110. if(x>=130&&x<=200&&y>=20&&y<=60)
  111. return2;
  112. if(x>=350&&x<=420&&y>=20&&y<=60)
  113. return3;
  114. return0;
  115. }
  116. functionquickOrslow(flag)//
  117. {
  118. vartotal=toggle.duration;
  119. vars=Math.ceil(total*0.05);
  120. if(flag==1)//kuaijin
  121. {
  122. if(toggle.ended==true)
  123. return;
  124. varnow=toggle.currentTime;
  125. if(total-now<=s)
  126. return;
  127. else
  128. toggle.currentTime=now+s;
  129. }
  130. else//后退
  131. {
  132. varn=toggle.currentTime;
  133. if(n<s)
  134. return;
  135. else
  136. toggle.currentTime=n-s;
  137. }
  138. }
  139. </script>

这是全部的源代码,当然其中包含了一些ASP语句,适用于传递歌曲名的,可以不用考虑。

drawPS()是控制播放与暂停的函数,quickOrSlow()是控制快退的函数。
当然这个播放器是非常简陋的,但是通过加工美化,还是可以做出优秀的播放器的,而且是没有插件的。
(责任编辑:豆豆)
下一篇:

移动开发中HTML5能否替代本地程序?

上一篇:

HTML5漫谈(4)--HTML5应用平台:PhoneGAP

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com