mozilla
Your Search Results

    AudioContext.createJavaScriptNode()

    Obsolete
    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.

    The AudioContext.createJavaScriptNode() method creates a JavaScriptNode which is used for directly manipulating audio data with JavaScript.

    Important: This method is obsolete, and has been renamed to  AudioContext.createScriptProcessor. See also ScriptProcessorNode.

     

    Syntax

     

    AudioContext.createJavaScriptNode(bufferSize, numInputChannels, numOutputChannels)
    

    Parameters

    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.

    Example

    The following script illustrates the use of createJavaScriptNode():

    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();
    }
    

    See also

    Document Tags and Contributors

    Contributors to this page: progysm, chrisdavidmills, kevincennis, Btipling, teoli
    Last updated by: teoli,