What Browsers are supported by SoundJS?

Currently SoundJS has Web Audio, HTML, and Flash audio support; which as been well tested in modern browsers:

  • Internet Explorer 7+
  • Chrome / Android Chrome
  • Android Native
  • Firefox
  • Safari
  • iOS 6+
  • Opera
  • Blackberry Browser

Support for IE 7 & 8 using the Flash plugin only.

Please review our SoundJS documentation for know browser limitations.

Does SoundJS work on iPhone or iPad?

Yes,but only on iOS 6+. Please refer to "Is WebAudio supported by SoundJS?"
The most significant limitation is that web audio starts muted, and must be played inside of a user event (touch) to be unmuted.

Helpful links:
how to determine your iOS version.

SoundJS documentation known limitations

Does SoundJS work on Android?

Yes, but in android native browser only html audio element is supported and it has some limiting restrictions, such as only being able to load and play sound in a touch event and only supported 1 sound at a time.

I load a lot of sounds, why am running into errors in Internet Explorer?

In Internet Explorer, there is a limit to how many audio tags you can load and play at once, which appears to be determined by hardware and browser settings. See HTMLAudioPlugin.MAX_INSTANCES for a safe estimate. The most noticeable symptom of this problem is seeing random files failing to load or playback.

One of the ways to reduce the issue is to reduce the number of simultaneous playing instances you allow when registering the sounds by setting the data property to 1 (HTMLAudioPlugin defaults to 2, when not set).

For example:

var manifest = [
     {src:"asset0.ogg", id:"example", data:1},
     {src:"asset1.ogg", id:"1", data:1},
     {src:"asset2.mp3", id:"works", data:1}
createjs.Sound.alternateExtensions = ["mp3"];
createjs.Sound.addEventListener("fileload", handleLoad); 
createjs.Sound.registerManifest(manifest, assetPath);

How do I make my sound work on every browser?

We suggest that users take the follow steps:

  • Setup Flash fallback, for those cases where the browser doesn't support any other type of audio.
  • Preload sounds internally or using PreloadJS.
  • Make sure you have multiple formats for a sound MP3 and OGG, as no single format is supported everywhere.
  • Launch sounds inside of user events when possible (touch/click/key), as mobile devices tend to require this in varying degrees. See the Mobile Safe Tutorial for advanced techniques.

Please note due to browser limitations inconsistencies may occur

Sound works locally, but not when I publish my website

Most of the time it’s because of CORS issues caused by your assets being in a different domain or path than your html.
However It could be because you used absolute path c://myDocuments/.../mySound instead of relative pathing /assets/mySound.

Sound works when I publish my website, not locally

Most browsers can not load files using XMLHttpRequests locally Web Audio requires XHR. The WebAudio plugin is set up to automatically fail locally, and SoundJS will default to the HTMLAudio plugin (which loads via tags). This might happen if you only specify a WebAudio plugin with no fallbacks.

SoundJS says MP3 can play, but fails

Make sure your audio is published with default encoding. Some browsers will support a format like mp3 but only default encoding. So the browser will say it supports your sound, it will load properly, but then it will try to play and fail.