过时
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
AudioContext.createJavaScriptNode()
method creates a
JavaScriptNode
which is used for directly manipulating audio data with JavaScript.
重要
: This method is obsolete, and has been renamed to
AudioContext.createScriptProcessor()
。另请参阅
ScriptProcessorNode
.
var jsNode = audioCtx.createJavaScriptNode(bufferSize, numInputChannels, numOutputChannels);
bufferSize
The buffer size must be in units of sample frames, i.e., one of: 256, 512, 1024, 2048, 4096, 8192, or 16384. It controls the frequency of callbacks asking for a buffer refill. Smaller sizes allow for lower latency and higher for better overall quality.
numInputChannels
The number of input channels in the audio stream.
numOutputChannels
The number of output channels in the audio stream.
The following script illustrates the use of
createJavaScriptNode()
:
var SineWave = function(context) {
var that = this;
this.x = 0; // Initial sample number
this.context = context;
this.node = context.createJavaScriptNode(1024, 1, 1);
this.node.onaudioprocess = function(e) { that.process(e) };
}
SineWave.prototype.process = function(e) {
var data = e.outputBuffer.getChannelData(0);
for (var i = 0; i < data.length; ++i) {
data[i] = Math.sin(this.x++);
}
}
SineWave.prototype.play = function() {
this.node.connect(this.context.destination);
}
SineWave.prototype.pause = function() {
this.node.disconnect();
}
AudioContext
AnalyserNode
AudioBuffer
AudioBufferSourceNode
AudioContextOptions
AudioDestinationNode
AudioListener
AudioNode
AudioNodeOptions
AudioParam
AudioProcessingEvent
AudioScheduledSourceNode
BaseAudioContext
BiquadFilterNode
ChannelMergerNode
ChannelSplitterNode
ConstantSourceNode
ConvolverNode
DelayNode
DynamicsCompressorNode
GainNode
IIRFilterNode
MediaElementAudioSourceNode
MediaStreamAudioDestinationNode
MediaStreamAudioSourceNode
OfflineAudioCompletionEvent
OfflineAudioContext
OscillatorNode
PannerNode
PeriodicWave
StereoPannerNode
WaveShaperNode