Socket
Socket
Sign inDemoInstall

audio-context-polyfill

Package Overview
Dependencies
0
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    audio-context-polyfill

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


Version published
Maintainers
1
Install size
6.12 kB
Created

Readme

Source

AudioContext

Just code for one API by enjoying this polyfill for the Web Audio API at W3, following the upgrade path outlined at MDN.

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’s load a sound and autoplay it.

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

Keywords

FAQs

Last updated on 19 Nov 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc