Web Audio Api biquadFilter in Android needs extra configuration? -
here says web audio api works in chrome android, , here have tested cm browser, chrome , cyanogenmod default android 5.1.1 browsers, , pass tests (specially biquadnode one).
but when open this codepen eq (biquadnode), can hear music not eq working.
does biquadnode works in android? special implementation needed?
*code pen required 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 doesn't work in general. if have recent build of chrome (49 , later?), can go chrome://flags
, enable unified media pipeline option. make createmediaelementsource
work on desktop.
Comments
Post a Comment