如何根据光标速度更改音量并使其平滑

时间:2018-11-17 21:23:39

标签: javascript jquery html html5 audio

所以我想根据光标移动速度更改音频元素的音量。快速移动时,声音会变大,但是慢速移动时,声音会变安静。

但是它并不流畅,您可以清楚地听到音量的变化。我需要它像jquery音量动画一样流畅:$("#audio").animate({volume: 1}, someAmountOfTime);

为测量光标速度,我使用cursometer

我创建了jsfiddle,您可以在其中听到音量的变化。 您必须单击运行几次或仅单击一次,因为它本身不会播放。

HTML:

<audio id="audio" src="https://jirihulmak.cz/samples/beep.mp3" autoplay="autoplay"></audio>

jQuery:

$(window.document).cursometer({
    onUpdateSpeed: function(speed) {

    var currSpeed = parseInt(speed*1000) / 10000;

    if (currSpeed >= 1) { // prevent volume more than 1 (causing error)
      $('#audio')[0].volume = 1;

    } else {
      if (currSpeed < 0.1) { // I don't need it completely quiet
        $('#audio')[0].volume = 0.1;

      } else {
        $('#audio')[0].volume = currSpeed;
      }
    }
  }
});

0 个答案:

没有答案