Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义JavaScript/HTML5播放器问题_Javascript_Html_Audio - Fatal编程技术网

自定义JavaScript/HTML5播放器问题

自定义JavaScript/HTML5播放器问题,javascript,html,audio,Javascript,Html,Audio,我一直在使用这个定制的音频播放器,我把它和一些教程放在一起,解决了互联网上的问题,在过去的两个月里一直在使用它 它在Chrome中100%工作,但在更新后,搜索栏碰巧停止工作 这是我这边的问题吗?还是对其他人有用 HTML: <div id="musicplayer"> <table> <tr> <audio id="audio" src="../audio/oby/weightless

我一直在使用这个定制的音频播放器,我把它和一些教程放在一起,解决了互联网上的问题,在过去的两个月里一直在使用它

它在Chrome中100%工作,但在更新后,搜索栏碰巧停止工作

这是我这边的问题吗?还是对其他人有用

HTML:

 <div id="musicplayer">
      <table>
           <tr>
                <audio id="audio" src="../audio/oby/weightless/Got To Be Free.mp3"></audio>
                <td>
                     <button id="play" type="button" onclick="playPause()" ></button>
                </td>
                <td>
                     <div id="boxed" >
                          <a href="#" id="songName">Select a song from the playlist</a>
                          <p class="right" id="timeInfo">00:00</p>
                          <input type="range" step="any" id="seekbar"></input> 
                     </div>
                </td>       
           </tr>
      </table>
 </div>

00:00

JavaScript:

<script>    
    var audio = document.getElementsByTagName('audio')[0],
    div = document.getElementById('timeInfo');

     function formatTime(s, m) {
     s = Math.floor( s );    
     m = Math.floor( s / 60 );
     m = m >= 10 ? m : '0' + m;    
     s = Math.floor( s % 60 );
     s = s >= 10 ? s : '0' + s;    
     return m + ':' + s;
     }

     setInterval(function() 
     {
     div.textContent = formatTime(audio.currentTime);
     }, 100);

     seekbar.value = 0;
     var audio = document.getElementById("audio");
     var seekbar = document.getElementById('seekbar');

     function setupSeekbar() {
     seekbar.min = audio.startTime;
     seekbar.max = audio.startTime + audio.duration;
     }
     audio.ondurationchange = setupSeekbar;

     function seekAudio() {
     audio.currentTime = seekbar.value;
     }

     function updateUI() {
     var lastBuffered = audio.buffered.end(audio.buffered.length-1);
     seekbar.min = audio.startTime;
     seekbar.max = lastBuffered;
     seekbar.value = audio.currentTime;
     }
     seekbar.onchange = seekAudio;
     audio.ontimeupdate = updateUI;
     audio.addEventListener('durationchange', setupSeekbar);
     audio.addEventListener('timeupdate', updateUI);
</script>

var audio=document.getElementsByTagName('audio')[0],
div=document.getElementById('timeInfo');
函数格式化时间(s,m){
s=数学楼层(s);
m=数学楼层(s/60);
m=m>=10?m:'0'+m;
s=数学楼层(s%60);
s=s>=10?s:'0'+s;
返回m+':'+s;
}
setInterval(函数()
{
div.textContent=格式化时间(audio.currentTime);
}, 100);
seekbar.value=0;
var audio=document.getElementById(“音频”);
var seekbar=document.getElementById('seekbar');
函数setupSeekbar(){
seekbar.min=audio.startTime;
seekbar.max=audio.startTime+audio.duration;
}
audio.ondurationchange=设置seekbar;
函数seekAudio(){
audio.currentTime=seekbar.value;
}
函数updateUI(){
var lastBuffered=audio.buffered.end(audio.buffered.length-1);
seekbar.min=audio.startTime;
seekbar.max=最后缓冲;
seekbar.value=audio.currentTime;
}
seekbar.onchange=seekAudio;
audio.ontimeupdate=updateUI;
audio.addEventListener('durationchange',setupSeekbar);
audio.addEventListener('timeupdate',updateUI);
重复代码:

audio.ondurationchange = setupSeekbar; 

尝试删除这些行中的任何一行

如果在javascript中设置seekbar值将触发一次更改。。。您必须删除
seekbar.onchange=seekAudio

当用户随时单击时,您的搜索杆是否不搜索?或者更新时间有问题。(时间在更新,但seekbar没有)

您不需要这些代码,也可能导致问题1。。。(seekbar更新问题)

编辑(offtopic):为了获得更好的性能,请删除代码

 setInterval(function()  
 { 
 div.textContent = formatTime(audio.currentTime); 
 }, 100); 
并将其附加到updateUI

div.textContent = formatTime(audio.currentTime);
重复代码:

audio.ondurationchange = setupSeekbar; 

尝试删除这些行中的任何一行

如果在javascript中设置seekbar值将触发一次更改。。。您必须删除
seekbar.onchange=seekAudio

当用户随时单击时,您的搜索杆是否不搜索?或者更新时间有问题。(时间在更新,但seekbar没有)

您不需要这些代码,也可能导致问题1。。。(seekbar更新问题)

编辑(offtopic):为了获得更好的性能,请删除代码

 setInterval(function()  
 { 
 div.textContent = formatTime(audio.currentTime); 
 }, 100); 
并将其附加到updateUI

div.textContent = formatTime(audio.currentTime);

正如我所说的,我仍然没有让它发挥作用;除了我电脑上的最新版本之外,它在其他电脑上的Chrome的早期版本上也能工作。正如我所说,我仍然没有让它工作;除了我的电脑上最新的Chrome版本外,它在其他电脑上的Chrome版本上也能正常工作。