我似乎无法理解为什么这不起作用.我没有错误.我使用振荡器做到了这一点并且工作正常.仅供参考,这是此主题的延续: 使用Web Audio API将两个声音分配给两个Div并通过javascript单击事件独立播放
码:
<div id="divElement"></div>
<style>
#divElement{
background-color: orange;
width:70px;
height:100px;
left:143px;
}
</style>
<script>
var context = new webkitAudioContext(),
savedBuffer;
var playAudioFile = function () {
var source = context.createBufferSource();
var gainNode = context.createGainNode();
source.buffer = savedBuffer;
// START OF PROBLEM AREA: Gain not working but file still plays with no errors.
source.connect(gainNode);
gainNode.connect(context.destination);
gainNode.gain = 0;
// END OF PROBLEM AREA
source.noteOn(0); // Play sound immediately
};
var request = new XMLHttpRequest();
request.open('get', 'audio/A.mp3', true);
request.responseType = 'arraybuffer';
request.onload = function () {
context.decodeAudioData(request.response,
function(incomingBuffer) {
savedBuffer = incomingBuffer;
var divElement = document.getElementById("divElement");
divElement.addEventListener("click", playAudioFile , false);
}
);
};
request.send();
</script>
Run Code Online (Sandbox Code Playgroud)
试试吧gainNode.gain.value = 0.gainNode.gain是一个AudioGain具有属性的对象value.
http://www.w3.org/TR/webaudio/#AudioGainNode
| 归档时间: |
|
| 查看次数: |
2277 次 |
| 最近记录: |