繁体   English   中英

HTML5 / Javascript网络音频API

[英]HTML5 / Javascript Web Audio API

我是从Web音频API入门的,出于某种原因,此代码只播放了一次振荡器,我错过了什么?

    <select class="osc1">
        <option value = "sawtooth">Sawtooth</option>
        <option value = "square">Square</option>
        <option value = "triangle">Triangle</option>
        <option value = "sine">Sine</option>
    </select>
    <button id="play-btn">Play</button>

    <script>
        var ac = new (window.AudioContext || window.webkitAudioContext)();

        function createOsc(ac, elclass)
        {
            var osc = ac.createOscillator();
            osc.frequency.value = 110;
            osc.type = document.getElementsByClassName(elclass)[0].value;
            osc.connect(ac.destination);

            osc.start();
            osc.stop(2);
        }

        document.getElementById("play-btn").addEventListener("click", function(e){
            createOsc(ac, 'osc1');
        });
    </script>

我设法自己找到解决方案,当调用方法stop时,它希望将上下文当前时间加上浮点秒数作为参数。

 osc.stop(ac.currentTime + 2.0);

您的JavaScript代码运行正常。 我测试过,它可以多次工作。

您正在使用哪个插件播放声音?

(对不起,由于我的声誉低下而无法发表评论)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM