1
我開始使用網絡音頻API,並且由於某些原因,此代碼只能播放一次振盪器,我錯過了什麼?HTML5/Javascript網絡音頻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>
SOLUTION
我是自己想辦法了,調用該方法時停止,預計作爲參數在浮點上下文當前時間加上的秒數。
osc.stop(ac.currentTime + 2.0);
這是奇怪的,我在Chrome和Firefox已經測試過它只能播放創建的第一個振盪器。我沒有使用任何插件。這只是vanilla Javascript和MDN中記錄的Web Audio API,它不需要我知道的任何插件或庫。感謝回覆 –
你能告訴你在哪個瀏覽器中測試了它嗎?和哪個版本?謝謝 –