Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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 启动和停止动态音频网格src';什么是基于他们的开始和停止时间?_Javascript - Fatal编程技术网

Javascript 启动和停止动态音频网格src';什么是基于他们的开始和停止时间?

Javascript 启动和停止动态音频网格src';什么是基于他们的开始和停止时间?,javascript,Javascript,现在我有一个动态的音频文件列表,我可以随意播放和暂停它们,但每个文件都有一个特定的开始和停止时间,我希望它们只播放到 这只是循环通过我的每个播放按钮,将playAudio功能分配给click事件 var playBtns = document.getElementsByClassName("playBtn"); for (var i = 0; i < playBtns.length; i++){ var audio = document.getElementById("audio

现在我有一个动态的音频文件列表,我可以随意播放和暂停它们,但每个文件都有一个特定的开始和停止时间,我希望它们只播放到

这只是循环通过我的每个播放按钮,将playAudio功能分配给click事件

var playBtns = document.getElementsByClassName("playBtn");

for (var i = 0; i < playBtns.length; i++){
    var audio = document.getElementById("audio" + playBtns[i].id);

    playBtns[i].onclick = function(){
        playAudio(this.id);
    }
}
如果我将stopAudio功能添加到我的playBtn循环中,它只适用于最新的音频文件,任何以前的音频文件只在整个播放过程中播放

for (var i = 0; i < playBtns.length; i++){
    var audio = document.getElementById("audio" + playBtns[i].id);
    var sounds = document.getElementsByTagName("audio");
    var start = convertToSeconds(sounds[i].dataset.start);
    var stop = convertToSeconds(sounds[i].dataset.stop);

    audio.ontimeupdate = function(){ stopAudio(start, stop) };

    playBtns[i].onclick = function(){
        playAudio(this.id);
    }
}
for(变量i=0;i
如果您能帮助解决这个问题,我们将不胜感激。谢谢你的建议

function stopAudio(startTime, stopTime){
        var newTime = convertToSeconds(stopTime);
        console.log(audio.currentTime);
        if(audio.currentTime >= stopTime){
            audio.pause();
            audio.currentTime = startTime;
        }
}
for (var i = 0; i < playBtns.length; i++){
    var audio = document.getElementById("audio" + playBtns[i].id);
    var sounds = document.getElementsByTagName("audio");
    var start = convertToSeconds(sounds[i].dataset.start);
    var stop = convertToSeconds(sounds[i].dataset.stop);

    audio.ontimeupdate = function(){ stopAudio(start, stop) };

    playBtns[i].onclick = function(){
        playAudio(this.id);
    }
}