<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>SoundManager 2 Start-up Test / Troubleshooting Tool</title> <meta name="robots" content="noindex" /> <meta name="description" content="A standalone version of the SoundManager 2 Start-up Troubleshooting Tool." /> <meta name="keywords" content="javascript sound, javascript audio, javascript play mp3, javascript sound control, javascript video, mp3, mp4, mpeg4" /> <meta name="robots" content="all" /> <meta name="author" content="Scott Schiller" /> <meta name="copyright" content="Copyright (C) 1997 onwards Scott Schiller" /> <meta name="language" content="en-us" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" media="screen" href="../demo/index.css" /> <!-- prettier fonts etc., optional --> <link rel="stylesheet" type="text/css" media="screen" href="debug.css" /> <!-- soundManager.useFlashBlock: related CSS --> <link rel="stylesheet" type="text/css" href="../flashblock/flashblock.css" /> <style type="text/css"> #sm2-container { position:relative; width:auto; height:auto; max-height:200px; margin-top:1em; border:1px solid #999; background:#eee; padding:0.5em; } </style> <script type="text/javascript" src="../script/soundmanager2.js"></script> <script type="text/javascript"> // optional soundManager.url = '../swf/'; soundManager.onload = function() {} </script> <script type="text/javascript" src="debug.js"></script> </head> <body> <!-- the following markup, debug.css and debug.js are required. --> <div style="position:relative;width:500px;margin:1em"> <p class="note">Flash options: <a href="#flash8" onclick="window.location.replace(this.href);window.location.reload()">Flash 8</a> (default), <a href="#flash9" onclick="window.location.replace(this.href);window.location.reload()">Flash 9</a> (normal) or <a href="#flash9-highperformance" onclick="window.location.replace(this.href);window.location.reload()">Flash 9 + highPerformance + fastPolling</a> modes.</p> <div id="sm2-test"> <ul class="items"> <li id="d-onload" class="default"> <h3><span class="yay">OK</span><span class="boo">FAIL</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>SoundManager 2 start-up</span></h3> <div id="sm2-startup" class="details"> <p>soundManager.onload() or soundManager.onerror() is ultimately called when start-up completes.</p> <p>If you're seeing a failure, refer to the below for troubleshooting details for common causes.</p> </div> </li> <li id="d-hasflash" class="default"> <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Flash</span></h3> <div class="details"> <p>The Flash 8 plugin is a minimal requirement for SoundManager 2, but the exact requirement varies based on soundManager.flashVersion. You are currently using <b id="d-flashversion">[unknown]</b>.</p> </div> </li> <li id="d-swf" class="default"> <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Flash SWF</span></h3> <div class="details"> <p>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.</p> <p>If the Flash movie URL is OK, Flash security or flash blockers are the likely cause. Check the section below.</p> </div> </li> <li id="d-flashtojs" class="default"> <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Flash -> JS</span></h3> <div class="details"> <p>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:</p> <ul> <li> <p><b>Have a flash blocker?</b> Check that the <a href="#flashdebug">SM2 flash movie</a> (below) is loading and is not being blocked.</p> </li> <li> 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". <div id="d-flashtojs-offline" style="padding-bottom:1em"> <h4>Offline viewing: Adding a "trusted location" to the Flash Security Settings Panel</h4> <p>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:/)</p> <p id="ss"><a href="#screenshots" onclick="document.getElementById('ss-box').style.display = 'block';document.getElementById('ss').style.display='none';return false">Show me how</a>: Adding a "trusted location"</p> <div id="ss-box" style="display:none"> <h4>Illustrated guide: Adding a "trusted location" in Flash</h4> <p>Below: Adding a location, and selecting "Browse for folder" (or directory), to whitelist the SoundManager 2 project directory for offline viewing.</p> <p><img src="../../troubleshoot/fpgss-add-location.png" alt="Adding a location: Browse for the file or directory to whitelist" style="width:100%;_width:auto;min-width:72px;max-width:396px" /></p> <p><img src="../../troubleshoot/fpgss-added-location.png" alt="Whitelisted location has now been added, JS + Flash will work under this path" style="width:100%;_width:auto;min-width:72px;max-width:396px" /></p> </div> <p><a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html" target="_blank" class="feature">Launch the Flash Security Settings Panel</a></p> </div> </li> <li style="margin-top:0.5em">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 <a href="../demo/flashblock/">SoundManager 2 Flashblock demo</a>.</li> <li style="margin-top:0.5em">Online viewing (HTTP/S): Same-domain security rules apply to HTML + Flash content by default (crossdomain.xml/allowDomain() in .AS source required to override.)</li> </ul> <p>See <a href="#flashdebug" title="SoundManager 2 flash debug output">Flash debug output</a> for more security error details.</p> <div id="d-flashtojs-online"> <h4>Online viewing: Cross-domain security restrictions</h4> <p>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).</p> <h4>Flash Blockers</h4> <p>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.</p> <p>Have a flash blocker installed? Want to test it? Try the <a href="../../demo/flashblock">SoundManager 2 Flashblock demo</a>.</p> </div> </div> </li> <li id="d-jstoflash" class="default"> <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>JS -> Flash</span></h3> <div class="details"> <p>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.</p> <p>Offline viewing conditions and cross-domain security rules will prevent Flash <-> JS communication. See the details of Flash -> JS for information.</p> </div> </li> <li id="d-soundtest" class="default"> <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Sound test</span></h3> <div class="details"> <p>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.</p> </div> </li> </ul> </div> <div class="block" style="margin-top:1em"> <div id="soundmanager-debug" class="code"> <!-- live debug goes here --> </div> </div> <div id="flashdebug"> <div id="sm2-container"> <!-- flash goes here --> </div> </div> <script type="text/javascript"> sm2DebugInit(); </script> </div> </body> </html>