Android 中的 Web Audio Api biquadFilter 需要额外配置吗?

Web Audio Api biquadFilter in Android needs extra configuration?

Here says the Web audio API works in Chrome for Android, and here 我已经测试了 CM 浏览器,Chrome 和 CyanogenMod 默认 Android 5.1.1 浏览器,并且都通过了测试(特别是 biquadNode 那个)。

但是当我用 eq (biquadNode) 打开 this codepen 时,我能听到音乐但听不到 eq 工作。

biquadNode 在 android 中有效吗?需要任何特殊的实现吗?

*需要打码笔才能post

    var context = new AudioContext();
var mediaElement = document.getElementById('player');
var sourceNode = context.createMediaElementSource(mediaElement);

// EQ Properties
//
var gainDb = -40.0;
var bandSplit = [360,3600];

var hBand = context.createBiquadFilter();
hBand.type = "lowshelf";
hBand.frequency.value = bandSplit[0];
hBand.gain.value = gainDb;

var hInvert = context.createGain();
hInvert.gain.value = -1.0;

var mBand = context.createGain();

var lBand = context.createBiquadFilter();
lBand.type = "highshelf";
lBand.frequency.value = bandSplit[1];
lBand.gain.value = gainDb;

var lInvert = context.createGain();
lInvert.gain.value = -1.0;

sourceNode.connect(lBand);
sourceNode.connect(mBand);
sourceNode.connect(hBand);

hBand.connect(hInvert);
lBand.connect(lInvert);

hInvert.connect(mBand);
lInvert.connect(mBand);

var lGain = context.createGain();
var mGain = context.createGain();
var hGain = context.createGain();

lBand.connect(lGain);
mBand.connect(mGain);
hBand.connect(hGain);

var sum = context.createGain();
lGain.connect(sum);
mGain.connect(sum);
hGain.connect(sum);
sum.connect(context.destination);

// Input
//
function changeGain(string,type)
{
  var value = parseFloat(string) / 100.0;

  switch(type)
  {
    case 'lowGain': lGain.gain.value = value; break;
    case 'midGain': mGain.gain.value = value; break;
    case 'highGain': hGain.gain.value = value; break;
  }
}

createMediaElementSource in Chrome on Android 通常不起作用。但是,如果您最近构建了 Chrome(49 及更高版本?),则可以转到 chrome://flags 并启用统一媒体管道选项。这将使 createMediaElementSource 像在桌面上一样工作。