DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML5教程 >> PaymentOne將推出HTML5營運支付應用
PaymentOne將推出HTML5營運支付應用
編輯:HTML5教程     

 如今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. <style type=”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. <h1 class=”a”>歡迎使用HTML5播放器</h1> 
  16. <% 
  17. var name = Request.QueryString(“name”); 
  18. if (name == ”") 
  19. name = ”"; 
  20. name1 = ”save_music” + name + ”.mp3″; 
  21. //Response.Write(name); 
  22.  
  23. %> 
  24. <marquee behavior=scroll scrolldelay=200 scrollamount=30 width=”300″ ><h1><%=name %></h1></marquee> 
  25. <div class=”s”> 
  26. <canvas width=”600″ height=”60″ id=”MusicCanvas”  onclick=”dealclick()”></canvas> 
  27. <audio id=”music” src=<%=name1 %> controls> 
  28. 您的浏覽器不支持HTML5中的audio標簽 
  29. </audio> 
  30. </div> 
  31. </body> 
  32. </html> 
  33. <script type=”text/javascript”> 
  34. var c = document.getElementById(“MusicCanvas”); 
  35. var cccon = c.getContext(“2d”); 
  36. var toggle = document.getElementById(“music”); 
  37. drawPS(); 
  38. drawQuick(); 
  39.  
  40. function drawPS() //flag=1表示播放命令,flag=0表示暫停 
  41. con.save(); 
  42. con.beginPath(); 
  43. var g = con.createRadialGradient(275, 30, 0, 275, 30, 25); //創建漸變顏色 
  44. if (toggle.paused) //暫停狀態 
  45. g.addColorStop(0.2, ”#1FD856″); // 
  46. g.addColorStop(0.8, ”black”); // 
  47. toggle.play(); 
  48. else //播放狀態 
  49. g.addColorStop(0.2, ”red”); //黃 
  50. g.addColorStop(0.8, ”black”); // 
  51. toggle.pause(); 
  52. con.fillStyle = g; 
  53. con.arc(275, 30, 25, 0, Math.PI * 2, true); 
  54. con.fill(); 
  55. con.closePath(); 
  56. con.restore(); 
  57.  
  58. function drawQuick() // 
  59. con.save(); 
  60. con.beginPath(); 
  61. con.fillStyle = ”grey”; 
  62. con.fillRect(130, 10, 70, 40); 
  63. con.fillStyle = ”black”; 
  64. 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); 
  65. con.fill(); 
  66. 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); 
  67. con.fill(); 
  68. con.closePath(); 
  69. con.beginPath(); 
  70. con.fillStyle = ”grey”; 
  71. var x = 350; 
  72. con.fillRect(x, 10, 70, 40); 
  73. x += 70; 
  74. con.fillStyle = ”black”; 
  75. 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); 
  76. x -= 30; 
  77. 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); 
  78. con.fill(); 
  79. //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); 
  80. con.fill(); 
  81. con.closePath(); 
  82. con.restore(); 
  83. function dealclick()//處理敲擊事件 
  84. var x = event.clientX; 
  85. var y = event.clientY; 
  86. var flag = getPos(x, y); 
  87. //alert(x.toString() + ”  ” + y.toString()+”  ”+flag.toString()); 
  88. if(flag==0) 
  89. return; 
  90. switch (flag)// 
  91. case 1: drawPS(); break; 
  92. case 2: quickOrslow(0); break; 
  93. case 3: quickOrslow(1); break; 
  94. function getPos(x, y) // 
  95. var px=100; 
  96. var py=240; 
  97. x-=px; 
  98. y-=py; 
  99. if (x >= 275 && x <= 325 && y >= 15 && y<= 65) 
  100. return 1; 
  101. if (x >= 130 && x <= 200 && y >= 20 && y <= 60) 
  102. return 2; 
  103. if (x >= 350 && x <= 420 && y >= 20 && y <= 60) 
  104. return 3; 
  105. return 0; 
  106. function quickOrslow(flag) // 
  107. var total = toggle.duration; 
  108. var s = Math.ceil(total*0.05); 
  109. if (flag == 1)//kuaijin 
  110. if (toggle.ended == true) 
  111. return; 
  112. var now = toggle.currentTime; 
  113. if (total - now <= s) 
  114. return; 
  115. else 
  116. toggle.currentTime = now + s; 
  117. else  //後退 
  118. var n = toggle.currentTime; 
  119. if (n < s) 
  120. return; 
  121. else 
  122. toggle.currentTime = n - s; 
  123.  
  124. </script> 

這是全部的源代碼,當然其中包含了一些ASP語句,適用於傳遞歌曲名的,可以不用考慮。 

drawPS() 是控制播放與暫停的函數,quickOrSlow()是控制快退的函數。 
當然這個播放器是非常簡陋的,但是通過加工美化,還是可以做出優秀的播放器的,而且是沒有插件的。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved