performance - How can I get better response times with soundManager2? -
using soundmanager2, made simple anchor onclick="mysound.play()", there big gap (almost half second) before sound heard! is, though pre-loaded sound. how can better response-time?
here source code:
<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" > <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="shawn inder" /> <title>jeureno</title> <style type="text/css"> <!-- --> </style> <!-- include sm2 library --> <script type="text/javascript" src="soundmanager/script/soundmanager2.js"></script> <!-- configure use --> <script type="text/javascript"> soundmanager.url = 'soundmanager/swf/'; // directory sm2 .swfs live // note soundmanager determine , append appropriate .swf file url, // eg. /path/to/sm2-flash-movies/soundmanager2.swf automatically. // beta-ish html5 audio support (force-enabled ipad), flash-free sound safari + chrome. enable if want try it! // soundmanager.usehtml5audio = true; // skip flash block handling now. see flashblock demo when want start getting fancy. soundmanager.useflashblock = false; // disable debug mode after development/testing.. // soundmanager.debugmode = false; // option 1: simple onload() + createsound() method /*soundmanager.onload = function() { // sm2 has loaded - can create , play sounds! soundmanager.createsound('helloworld','sounds/crash.mp3'); soundmanager.play('helloworld'); };*/ // option 2 (better): more flexible onload() + createsound() method /*soundmanager.onload = function() { var mysound = soundmanager.createsound({ id: 'asound', url: 'sounds/kick.mp3' // onload: [ event handler function object ], // other options here.. }); mysound.play(); }*/ // option 3 (best): onready() + createsound() / ontimeout() methods success/failure: /*soundmanager.onready(function() { // sm2 has loaded - can create , play sounds! var mysound = soundmanager.createsound({ id: 'asound', url: 'sounds/snare.mp3' // onload: [ event handler function object ], // other options here.. }); mysound.play(); });*/ soundmanager.usehighperformance = true; soundmanager.ontimeout(function() { // (optional) hrmm, sm2 not start. show error, etc.? alert("wtf"); }); </script> <script type="text/javascript"> /*var snare = soundmanager.createsound({ id: 'snare', url: 'sounds/snare.mp3' }); var kick = soundmanager.createsound({ id: 'kick', url: 'sounds/kick.mp3' }); var crash = soundmanager.createsound({ id: 'crash', url: 'sounds/crash.mp3' }); var highhat = soundmanager.createsound({ id: 'highhat', url: 'sounds/highhat.mp3' });*/ soundmanager.onready(function() { // sm2 has loaded - can create , play sounds! mysound = soundmanager.createsound({ id: 'asound', url: 'sounds/snare.mp3' // onload: [ event handler function object ], // other options here.. }); mysound.load(); // mysound.play(); }); </script> </head> <body> <a href="#" onclick="void(mysound.play());">click</a> </body> </html>
i don't see song gets preloaded. want set autoload
true in default or createsound section (the defaults should inherited createsound).
in default section soundmanager.autoload = true;
or in createsound method autoload:true, id: 'asound', url: 'sounds/kick.mp3'
Comments
Post a Comment