Javascript Webaudio卷积在firefox中不起作用
我目前正在通过示例学习webaudio api,我偶然发现了这支笔: 我注意到,在我将滑块向左旋转之前,firefox不会播放音频。这意味着卷积不起作用,因为提供的格式是wav?在规范中,它说它是受支持的。我尝试了一些东西,而不是提供一个wav文件,我尝试了一个mp3,直到它的作品。然而,这并非没有副作用,因为这一次,当我移动滑块时,我没有听到任何声音 那么firefox中发生了什么 奖励积分:我将在两天内创建一个奖励,因此任何能够发现问题所在的人都将获得额外的250分:) 下面是一些代码:Javascript Webaudio卷积在firefox中不起作用,javascript,html5-audio,web-audio-api,Javascript,Html5 Audio,Web Audio Api,我目前正在通过示例学习webaudio api,我偶然发现了这支笔: 我注意到,在我将滑块向左旋转之前,firefox不会播放音频。这意味着卷积不起作用,因为提供的格式是wav?在规范中,它说它是受支持的。我尝试了一些东西,而不是提供一个wav文件,我尝试了一个mp3,直到它的作品。然而,这并非没有副作用,因为这一次,当我移动滑块时,我没有听到任何声音 那么firefox中发生了什么 奖励积分:我将在两天内创建一个奖励,因此任何能够发现问题所在的人都将获得额外的250分:) 下面是一些代码:
var context = new AudioContext();
var audioElement = document.getElementById('player');
var carrier = context.createMediaElementSource(audioElement);
var convolver = context.createConvolver();
var dry = context.createGain();
var wet = context.createGain();
carrier.connect( convolver );
convolver.connect(wet);
carrier.connect(dry);
dry.connect( context.destination );
wet.connect( context.destination );
var mix = function( value ) {
dry.gain.value = ( 1.0 - value );
wet.gain.value = value;
}
var loadImpulse = function ( fileName )
{
var url = "http://files.andre-michelle.com/impulse/" + fileName;
var request = new XMLHttpRequest();
request.open( "GET", url, true );
request.responseType = "arraybuffer";
request.onload = function ()
{
context.decodeAudioData( request.response, function ( buffer ) {
convolver.buffer = buffer;
}, function ( e ) { console.log( e ); } );
};request.onerror = function ( e )
{
console.log( e );
};
request.send();
};
loadImpulse(document.getElementById('impulse').value);
mix(1.0);
function changeValue(string,type)
{
var value = parseFloat(string) / 100.0;
switch(type)
{
case 'mix':
mix(value);
break;
}
}
通过firebug控制台,我看到firefox给出了错误
Blocked loading mixed active content "http://files.andre-michelle.com/impulse/factory.hall.wav"
所以脉冲响应实际上没有加载。因此,干的和湿的声音是一样的