audio-context
audio-context copied to clipboard
A WebAudio Context singleton
audio-context

DEPRECATION NOTICE
Since AudioContext depends on particular web-audio engine, it cannot be used as solid base for other audio components.
Besides:
- There's no necessarily common API between OfflineContext and AudioContext;
- Chrome requires interaction to enable AudioContext;
- spec fluctuates;
Better use WebAudioAPI, web-audio-api, web-audio-js or other engine directly in your app.
If you need just a convention for your component, implement simple context chache defaulting to {sampleRate: 44100}.
Creates a WebAudio context singleton with the given options. Returns null if not supported.
Example
var audioCtx = require('audio-context')()
You can also create an OfflineAudioContext in case you would like to process (faster) without any rendering.
var offlineContext = require('audio-context')({offline: true})
Usage
ctx = createContext(options|sampleRate)
Returns a singleton audio context for the given sampleRate.
The options:
sampleRate- if specified, will set the context sampleRate.latencyHint- if specified, will control latency. One of'balanced','playback','interaction'(default) or number.offline- if specified, will create OfflineAudioContext.length- if specified, will set number of frames for offline context.channels- if specified, will set number of channels for offline context.{...contextAttributes}any other options for the context.
Handles vendor prefixing for audio contexts. Returns null if we are not in a browser, or if the context is not available, or if there was an error creating the context.
Running tests
# Run tests in tape-run's default browser
npm test
# Run in a specified browser.
# See https://github.com/juliangruber/tape-run#runopts for options
npm test -- --browser firefox
License
MIT
