2011-11-21 40 views
3

我已经编码了一个简单的HTML5音频播放器(JavaScript和CSS),即当用户单击播放时开始。我已经把它与页面上的一个文件一起工作。我已经复制并粘贴了多次代码,因此我可以在同一页面上放置多个文件,玩家休息并不会播放任何文件。请,任何帮助表示赞赏!下面是我的HTML:试图让我的HTML 5音频播放器在同一页上播放多个文件

<div id="audioplayer"> 
<audio id="audio" src="052011.mp3"></audio> 
<span id="playpause" title="Play/Pause"><a href="#" class="play">Play</a></span> 
<script type="text/javascript" src="audioplayer-min.js"></script> 

这里是CSS:

/* globals */ 

html { 
font:62.5%/1 "Droid Sans", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; 
background: url('background.png'); 
background-repeat: no-repeat 
} 

body { 
margin: 0 auto; 
text-align: center; 
} 

#audioplayer { 
display: block; 
overflow: hidden; 
width: 30px; 
height: 30px; 
position: relative; 
} 
.play,.pause { 
background: #fff; 
width: 20px; 
height: 20px; 
border-radius: 10px; 
position: absolute; 
margin: 5px; 
display: block; 
overflow: hidden; 
text-indent: -1000px; 
} 
.play:after { 
border-color:transparent transparent transparent #000; 
border-style:solid; 
border-width: 5px 5px 5px 10px; 
width:0; 
height:0; 
position: absolute; 
top: 5px; 
left: 6px; 
content: ''; 
} 
.pause:after { 
border-color: #000; 
background: #fff; 
border-style:solid; 
border-width: 0 3px 0 3px; 
width:2px; 
height:10px; 
position: absolute; 
top: 5px; 
left: 6px; 
content: ''; 
} 

最后但并非最不重要的我的javascript:

var audio=document.getElementById("audio");var canvasWidth=canvasHeight=30;var radius=canvasWidth/2;var audioplayer=document.getElementById("audioplayer");canvas=document.createElement("canvas");canvas.setAttribute("width",canvasWidth);canvas.setAttribute("height",canvasHeight);canvas.setAttribute("id","canvas");audioplayer.appendChild(canvas);function updateUI(){var f=audio.currentTime;var g=audio.duration;var b=document.getElementById("canvas");var e=b.getContext("2d");var a=y=radius=canvasWidth/2;var d=-Math.PI/2;var c=d+((f/g)*Math.PI*2);b.getContext("2d").clearRect(0,0,canvasWidth,canvasHeight);e.fillStyle="#000";e.beginPath();e.moveTo(a,y);e.arc(a,y,radius,d,c,false);e.closePath();e.fill()}audio.addEventListener("play",function(a){document.getElementById("playpause").innerHTML='<a href="#" class="pause">Pause</a>'},true);audio.addEventListener("pause",function(a){document.getElementById("playpause").innerHTML='<a href="#" class="play">Play</a>'},true);audio.addEventListener("ended",function(a){document.getElementById("playpause").innerHTML='<a href="#" class="play">Play</a>'},true);document.getElementById("playpause").addEventListener("click",function(){if(audio.paused){audio.play()}else{if(audio.ended){audio.currentTime=0;document.getElementById("playpause").innerHTML='<a href="#" class="pause">Pause</a>';audio.play()}else{audio.pause()}}},true);audio.ontimeupdate=updateUI;audio.addEventListener("timeupdate",updateUI); 

的Iframe添加到HTML:

<tbody> 
      <tr> 
       <td style="vertical-align: top;"> 

<div id="audioplayer"> 
<audio id="audio" src="052011.mp3"></audio> 
<span id="playpause" title="Play/Pause"><a href="#" class="play">Play</a></span> 
<script type="text/javascript" src="audioplayer-min.js"></script> 
</div> 
<br> 
       </td> 
       <td style="vertical-align: top;"> 
       <div style="text-align: right;"> 
       </div> 
       <div style="text-align: right;"><big><big><span style="font-weight: bold;"><small><span class="style2"><span class="style6"><a href="052011.mp3">May 6, 2011</a> <span style="font-style: italic;">(Right Click and select Save As to download to your iPod or other MP3 player)</span></span></span></small></span></big></big><br> 

       <big> 
       </big></div> 
</td> 
      </tr> 
      <tr> 
       <td style="vertical-align: top;"> <iframe src=<div id="audioplayer"> 
<audio id="audio" src="052011.mp3"></audio> 
<span id="playpause" title="Play/Pause"><a href="#" class="play">Play</a></span> 
<script type="text/javascript" src="audioplayer-min.js"></script>"></iframe> <br> 
       </td> 
       <td style="vertical-align: top;"><br> 
       </td> 
      </tr> 
      <tr> 
       <td style="vertical-align: top;"><br> 
       </td> 
       <td style="vertical-align: top;"><br> 
       </td> 
      </tr> 
      </tbody> 
     </table> 

回答

0

尝试在iframe或HTML标记中封入另一个玩家

+0

感谢@Tigra快速回复和您的帮助!对此,我真的非常感激。我仍然在Iframe标签上遇到了一些麻烦(请不要把它贴在我身上:)我已经在上面添加了我迄今为止所做的,但仍然没有运气 – user1058318

1

几个月前,我构建了一个用一些自定义HTML代码替换元素的jQuery插件。通过添加一些CSS,你会得到一个全新的玩家,它看起来像你想要的样子,并且具有与默认玩家相同的功能。没有直接的方式来设计元素。但是HTML5 DOM具有元素的方法,属性和事件,因此很容易操作。

试试这个 http://osvaldas.info/audio-player-responsive-and-touch-friendly