【问题标题】:Webaudio convolution not working in firefoxWebaudio卷积在Firefox中不起作用
【发布时间】:2015-12-29 02:50:20
【问题描述】:

我目前正在通过示例学习 webaudio api,偶然发现了这支小笔:

http://codepen.io/andremichelle/pen/NPPEPY

我注意到,直到我将滑块向左转动,音频才在 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;
  }
}

【问题讨论】:

    标签: javascript html5-audio web-audio-api


    【解决方案1】:

    使用 firebug 控制台,我看到 firefox 给出了错误

    Blocked loading mixed active content "http://files.andre-michelle.com/impulse/factory.hall.wav"
    

    因此实际上并未加载脉冲响应。所以干湿的声音是一样的。

    【讨论】:

      猜你喜欢
      • 2013-12-09
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      相关资源
      最近更新 更多