HTML5   发布时间:2022-04-26  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了audio – 当我停止播放声音时,如何避免这种“咔哒”声?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我真的希望这个问题能够解决一个编程问题并且最终不会出现声音力学问题……这里……

我正在做一些实验,以弄清楚Web Audio API的工作原理.我想要做的是一个简单的“挂断电话”声音循环播放.问题是,当声音结束时,你可以听到一声非常烦人的“咔哒”声.我无法更好地解释它,但如果您测试代码,您可以听到它.

有什么方法可以避免这种情况吗?我可以应用一些过滤器或任何东西?

var audioContext = new (AudioContext || webkitAudioContext)();
    
    var frequencyOffset = 0
    function boop(){
      // Our sound source is a simple triangle oscillator
      var oscillator = audioContext.createOscillator(); // Create sound source  
      oscillator.type = 'triangle';
      
      // Adding a gain node just to lower the volume a bit and to make the
      // sound less ear-piercing
      var gain = audioContext.createGain();
      oscillator.connect(gain);
      gain.connect(audioContext.desTination);
      
      gain.gain.value = 0.1;
      // just for fun let the frequency increase on each itteration
      oscillator.frequency.value = 200 + frequencyOffset;
      oscillator.start(0);
      
      // The sound should last for 250ms
      setTimeout(function(){
        oscillator.disconnect(); 
        oscillator.stop();
        gain.disconnect();
      },250);
      frequencyOffset += 1;
    }

    seTinterval(boop,500);

解决方法

这是一个音频问题,而不是编程问题.当波形在波浪中间停止/切割而非零交叉时,会发出您听到的咔嗒声.

音频范例中最好的简单解决方案是快速淡出,而不是仅仅停止播放.

一个稍微复杂的解决方案是找到下一个过零点并在此点停止播放.

大佬总结

以上是大佬教程为你收集整理的audio – 当我停止播放声音时,如何避免这种“咔哒”声?全部内容,希望文章能够帮你解决audio – 当我停止播放声音时,如何避免这种“咔哒”声?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。