p5.js Safari play()暂停()跳跃()问题

p5.js Safari play()暂停()跳跃()问题,safari,soundcloud,p5.js,Safari,Soundcloud,P5.js,我正在尝试使用and制作音频播放器。大部分工作正常,但我在Safari浏览器中遇到了一些小问题 包含所有函数的javascript文件是 网站上有一个progressbar,当点击它时,它应该指向歌曲中的某个点 var progressBar = document.getElementById('progressBar'); 在Firefox中,只要设置了播放模式('restart'),它就可以正常工作。但是Safari创建了一个InvalidStateError 当sound.playMod

我正在尝试使用and制作音频播放器。大部分工作正常,但我在Safari浏览器中遇到了一些小问题

包含所有函数的javascript文件是

网站上有一个progressbar,当点击它时,它应该指向歌曲中的某个点

var progressBar = document.getElementById('progressBar');
在Firefox中,只要设置了播放模式('restart'),它就可以正常工作。但是Safari创建了一个
InvalidStateError

sound.playMode('sustain')
将Firefox和Safari设置为歌曲中的某个点,但歌曲播放两次


有人知道这里可能出了什么问题吗?

对于Safari、Firefox和Chrome,我有以下解决方法:

progressBar.addEventListener("click", function(progbar) {
  percent = (progbar.offsetX / this.offsetWidth);
  setTimeout(function(){
    Object.assign(sound, {_playing: true});
    sound.playMode('restart');
  }, 100);
  sound.stop();
  sound.playMode('sustain');
  sound.jump(sound.duration() * percent);
}, false);

对于Safari、Firefox和Chrome,我有以下解决方法:

progressBar.addEventListener("click", function(progbar) {
  percent = (progbar.offsetX / this.offsetWidth);
  setTimeout(function(){
    Object.assign(sound, {_playing: true});
    sound.playMode('restart');
  }, 100);
  sound.stop();
  sound.playMode('sustain');
  sound.jump(sound.duration() * percent);
}, false);

从您正在做的事情的声音来看,重启应该是要使用的模式。从文档判断,我相信您看到的持续行为是预期的。我发现p5.sound文件中可能有一个bug:从您正在做的事情的声音来看,重启应该是要使用的模式。从文档判断,我相信您看到的持续行为是预期的。我发现p5.sound文件中可能有一个bug: