【发布时间】:2012-12-22 00:36:32
【问题描述】:
所以我在尝试从标签创建网络音频源节点时遇到问题。代码如下所示:
OBJECT.musicContext= new webkitAudioContext();
OBJECT.audio = new Audio();
OBJECT.audio.src = self.file;
OBJECT.source = OBJECT.musicContext.createMediaElementSource(OBJECT.audio);
var analyser= OBJECT.musicContext.createAnalyser();
analyser.fftSize=1024;
OBJECT.analyser=analyser
OBJECT.gain = self.musicContext.createGain();
OBJECT.gain.gain.value = .01
OBJECT.source.connect(OBJECT.gain)
OBJECT.gain.connect(OBJECT.analyser)
OBJECT.analyser.connect(OBJECT.musicContext.destination)
OBJECT.play = function(){OBJECT.source.play();}
OBJECT.stop = function(){OBJECT.source.stop();}
问题出在最后两行。我似乎无法通过 webkit 音频上下文播放音频...
如果我这样做
OBJECT.play = function(){OBJECT.audio.play();}
声音会开始播放,但不会通过音频节点(这是有道理的)
我也试过
OBJECT.play = function(){OBJECT.source.noteOn(0);}
OBJECT.stop = function(){OBJECT.source.noteOff(0);}
无济于事...
非常感谢任何帮助或建议,并提前感谢您的宝贵时间!
艾萨克
编辑:当 console.logging OBJECT.source 声称有零输入和 1 输出时。这对于源节点是否正确?
【问题讨论】:
-
另外,您只能拥有 一个
AudioContext,请确保您不是每次都创建一个新的。 -
只有一个,请确保。它似乎仍然是音频到源的链接......
标签: javascript html audio webkit web-audio-api