# audio-context-polyfill

> Just code for one API by enjoying this polyfill for the Web Audio API.

Latest version **1.0.0** (published 2015-11-19) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install audio-context-polyfill
pnpm add audio-context-polyfill
yarn add audio-context-polyfill
bun add audio-context-polyfill
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2015-11-19 |
| First published | 2015-11-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Jake Champion |
| Maintainers | jakedchampion |
| Keywords | audio, context, polyfill |

## Links

- npm: https://www.npmjs.com/package/audio-context-polyfill
- Repository: https://github.com/JakeChampion/AudioContext
- Homepage: https://github.com/JakeChampion/AudioContext#readme
- Issues: https://github.com/JakeChampion/AudioContext/issues
- npm.io page: https://npm.io/package/audio-context-polyfill

## Recent versions

- 1.0.0 (latest) — 2015-11-19

## README

# AudioContext

Just code for one API by enjoying this polyfill for the **[Web Audio API](http://caniuse.com/audio-api)** at [W3](https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html), following the upgrade path outlined at [MDN](https://developer.mozilla.org/en-US/docs/Web_Audio_API/Porting_webkitAudioContext_code_to_standards_based_AudioContext).

## Why this is useful

First, as the **Web Audio API** evolved, many method names were changed from what we find in older Chrome and Safari browsers (e.g. **buffer.start()** was **bufferNode.noteOn()**). Second, older browsers retained a vendor prefixed **Audio Context** method (e.g. **window.AudioContext** was **window.webkitAudioContext**).

## Which browsers this will effect

Including this polyfill will improve your experience coding for Chrome 10-30, Firefox v23-25, Opera 15-16, Safari 6-7, iOS Safari 6-7, and potentially later versions of these browsers as well.

## Examples of the Audio API

Let&rsquo;s load a sound and autoplay it.

```javascript
var
// create the audio context
context = new AudioContext(),
// create the http request
request = new XMLHttpRequest();

// request the MP3
request.open('GET', 'sound.mp3');

// request as an array buffer
request.responseType = 'arraybuffer';

// when the request loads
request.addEventListener('load', function () {
	// decode the array buffer
	context.decodeAudioData(request.response, function (buffer) {
		var
		// create the audio source
		source = context.createBufferSource(),
		// create the audio volume
		volume = context.createGainNode();

		// set the buffer to the audio source
		source.buffer = buffer;

		// set the volume to half
		volume.gain.value = 0.5;

		// connect the audio source to the audio volume
		source.connect(volume);

		// connect the audio volume to the output
		volume.connect(context.destination);

		// play the audio source
		source.start(0);
	});
});

// begin the request
request.send();
```

---
_Source: https://npm.io/package/audio-context-polyfill · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
