Flash options: Flash 8 (default), Flash 9 (normal) or Flash 9 + highPerformance + fastPolling modes.

- ### OK FAIL N/A Unknown SoundManager 2 start-up

  soundManager onready() or ontimeout() events are ultimately called when start-up completes.

  If you're seeing a failure, refer to the below for troubleshooting details for common causes.

- ### OK Error N/A Unknown Flash

  Flash 8 or 9 may be required for SoundManager 2 to start, depending on HTML5 support. You are currently using [unknown].

- ### OK Error N/A Unknown Flash SWF

  SoundManager 2 must load a flash movie before initialisation can proceed. If you have errors here, check that soundManager.url is correctly defined and that the URL being loaded is correct.

  If the Flash movie URL is OK, Flash security or flash blockers are the likely cause. Check the section below.

- ### OK Error N/A Unknown Flash -> JS

  Once the flash component of SM2 has loaded, it tries to make a call to Javascript-land. This is a common point of failure, for security reasons:

  - Have a flash blocker? Check that the SM2 flash movie (below) is loading and is not being blocked.

  - Is your browser URL at file:// or c:/path/ or otherwise not using HTTP? Flash security "whitelisting" is required to allow Flash + JS to work when offline, placing it in the "LocalTrusted" Flash security sandbox rather than "localWithFile".

    #### Offline viewing: Adding a "trusted location" to the Flash Security Settings Panel

    The Flash Player Global Security Settings Panel is a web-based control panel which allows you to configure Flash security. You will need to add the path of the SoundManager 2 project in order for it to work "offline" (ie., when viewing via file:// or c:/)

    Show me how: Adding a "trusted location"

    #### Illustrated guide: Adding a "trusted location" in Flash

    Below: Adding a location, and selecting "Browse for folder" (or directory), to whitelist the SoundManager 2 project directory for offline viewing.

    Launch the Flash Security Settings Panel

  - Flash blockers (FlashBlock, "click to flash" etc.) preventing flash load and start-up - need whitelisting/"allow this domain" to work smoothly. If you suspect blocking is the issue, try the SoundManager 2 Flashblock demo.
  - Online viewing (HTTP/S): Same-domain security rules apply to HTML + Flash content by default (crossdomain.xml/allowDomain() in .AS source required to override.)

  See Flash debug output for more security error details.

  #### Online viewing: Cross-domain security restrictions

  HTML page on domain A loading .SWF from domain B: Flash security prevents JS + Flash when a cross-domain XML permission file is not available on domain B, and/or flash movie was not compiled with allowDomain('domainA') or allowDomain('*') - note that the SWF distributed with SM2 does not use this by default; try using the cross-domain version of the SWF, or compile your own which whitelists your own domain(s).

  #### Flash Blockers

  Browser extensions/add-ons like "FlashBlock" and "click to flash" can prevent the .SWF from loading, and this will mean SM2 will time-out and fail waiting for a response from Flash. For development, it's best to whitelist the domain(s) or the .SWF for SM2 to allow it to work.

  Have a flash blocker installed? Want to test it? Try the SoundManager 2 Flashblock demo.

- ### OK Error N/A Unknown JS -> Flash

  At this point, Javascript attempts to respond to Flash's initial outgoing Flash -> JS call, completing the test for JS/flash communication. If SM2 does not receive a response from flash, it will eventually fail.

  Offline viewing conditions and cross-domain security rules will prevent Flash <-> JS communication. See the details of Flash -> JS for information.

  Special Firefox Note: Some versions of Firefox (9.0 and newer?) may break JS/Flash in the file:// or offline case even when the path has been whitelisted in the Flash player security settings panel. IE, Chrome, Safari and Opera do not have this issue.

- ### OK Error N/A Unknown Sound test

  Here, a simple createSound() call is made to test SM2's actual operation. A sound should load and play provided SM2 was able to start successfully.