如何制作多个播放按钮?

问题描述:

我有一个按钮的代码,如何做多个? image example如何制作多个播放按钮?

我试图绕过所有的元素,但轨道同时播放。

http://codepen.io/anon/pen/mmyaQx

jQuery的,我做到了,但我不能在本地JavaScript。

window.onload = function(){ 
 

 
    var myAudio = document.getElementById('my-audio'); 
 
    var play = document.getElementById('play'); 
 
    var pause = document.getElementById('pause'); 
 
    var loading = document.getElementById('loading'); 
 
    var bar = document.getElementById('bar'); 
 

 
    function displayControls() { 
 
     loading.style.display = "none"; 
 
     play.style.display = "block"; 
 
    } 
 

 
    // check that the media is ready before displaying the controls 
 
    if (myAudio.paused) { 
 
     displayControls(); 
 
    } else { 
 
     // not ready yet - wait for canplay event 
 
     myAudio.addEventListener('canplay', function() { 
 
     displayControls(); 
 
     }); 
 
    } 
 
    
 
    play.addEventListener('click', function() { 
 
     myAudio.play(); 
 
     play.style.display = "none"; 
 
     pause.style.display = "block"; 
 
    }); 
 
    
 
    pause.addEventListener('click', function() { 
 
     myAudio.pause(); 
 
     pause.style.display = "none"; 
 
     play.style.display = "block"; 
 
    }); 
 
    
 
    // display progress 
 
    
 
    myAudio.addEventListener('timeupdate', function() { 
 
     //sets the percentage 
 
     bar.style.width = parseInt(((myAudio.currentTime/myAudio.duration) * 100), 10) + "%"; 
 
    }); 
 

 
}
#controls { 
 
    width: 80px; 
 
    float: left; 
 
} 
 
    
 
#progress { 
 
    margin-left: 80px; 
 
    border: 1px solid black; 
 
} 
 

 
#bar { 
 
    height: 20px; 
 
    background-color: green; 
 
    width: 0; 
 
}
<audio id="my-audio"> 
 
    <source src="http://jPlayer.org/audio/mp3/Miaow-07-Bubble.mp3" type="audio/mpeg"> 
 
    <source src="http://jPlayer.org/audio/ogg/Miaow-07-Bubble.ogg" type="audio/ogg"> 
 
</audio> 
 

 
<div id="controls"> 
 
    <span id="loading">loading</span> 
 
    <button id="play" style="display:none">play</button> 
 
    <button id="pause" style="display:none" >pause</button> 
 
</div> 
 
<div id="progress"> 
 
    <div id="bar"></div> 
 
</div>

我不知道你想达到的目标,但似乎您试图推倒重来......

你知不知道,你可以使能控制HTML5音频播放器? :)

<audio controls> 
 
    <source src="http://jPlayer.org/audio/mp3/Miaow-07-Bubble.mp3" type="audio/mpeg"> 
 
    <source src="http://jPlayer.org/audio/ogg/Miaow-07-Bubble.ogg" type="audio/ogg"> 
 
</audio>

+0

是的,我知道。但我需要一个自定义按钮。 在页面上,有几个播放按钮会在暂停时更改。不需要更多的控制。 – Massef

+0

进度条仅用于视觉示例(突然没有声音的人),我也删除它。 – Massef

+0

@Massef“在页面上有几个播放按钮在暂停时发生变化。”你什么意思?为什么你需要几个播放按钮? – Badacadabra

这样的事情会帮助你..

进行函数,而不是在window.onload和paremetrize吧..然后调用每个启动功能..

function start(){ 
    buildOne('my-audio', 'play', 'pause', 'loading', 'bar'); 
    buildOne('my-audio2', 'play2', 'pause2', 'loading2', 'bar2'); 
} 

window.onload = start; 

完整的例子是这里:http://codepen.io/mkdizajn/pen/ZKYwEQ?editors=1011

+0

感谢您的回答。页面上的元素数量并不总是相同的。这个选项不适合。我试图让类而不是id,并通过点击方法(像每个在jquery中的方法),但它没有成功。 – Massef