From f8c9eb5220afaf2f9a62f9a176a45913240f4081 Mon Sep 17 00:00:00 2001 From: raylu Date: Thu, 7 Apr 2011 00:27:27 -0400 Subject: Initial import from Dropbox --- sounds/script/demo.js | 11 +++ sounds/script/soundmanager.js | 182 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 sounds/script/demo.js create mode 100644 sounds/script/soundmanager.js (limited to 'sounds/script') diff --git a/sounds/script/demo.js b/sounds/script/demo.js new file mode 100644 index 0000000..40153e4 --- /dev/null +++ b/sounds/script/demo.js @@ -0,0 +1,11 @@ +// Page-specific demo stuff - not needed for library + +function stressTest(sound,count) { + for (var i=0; i','']; + if (navigator.appName.toLowerCase().indexOf('microsoft')+1) { + this.mC.innerHTML = html[0]; + this.o = this.mC.getElementsByTagName('object')[0]; + } else { + this.mC.innerHTML = html[1]; + this.o = this.mC.getElementsByTagName('embed')[0]; + } + document.getElementsByTagName('div')[0].appendChild(this.mC); + } + + this.addMovie = function(movieName,url) { + self.movies[movieName] = new self.FlashObject(url); + } + + this.checkMovie = function(movieName) { + movieName = movieName||self.defaultName; + if (!self.movies[movieName]) { + self.errorHandler('checkMovie','Exception: Could not find movie',arguments); + return false; + } else { + return (self.movies[movieName].isLoaded())?self.movies[movieName]:false; + } + } + + this.errorHandler = function(methodName,message,oArguments,e) { + writeDebug('
soundManager.'+methodName+'('+self.getArgs(oArguments)+'): '+message+(e?' ('+e.name+' - '+(e.message||e.description||'no description'):'')+'.'+(e?')':'')+'
'); + } + + this.play = function(soundID,loopCount,noDebug,movieName) { + if (self.unsupported) return false; + movie = self.checkMovie(movieName); + if (!movie) return false; + if (typeof(movie.o.TCallLabel)!='undefined') { + try { + self.setVariable(soundID,'loopCount',loopCount||1,movie); + movie.o.TCallLabel('/'+soundID,'start'); + if (!noDebug) writeDebug('soundManager.play('+self.getArgs(arguments)+')'); + } catch(e) { + self.errorHandler('play','Failed: Flash unsupported / undefined sound ID (check XML)',arguments,e); + } + } + } + + this.stop = function(soundID,movieName) { + if (self.unsupported) return false; + movie = self.checkMovie(movieName); + if (!movie) return false; + try { + movie.o.TCallLabel('/'+soundID,'stop'); + writeDebug('soundManager.stop('+self.getArgs(arguments)+')'); + } catch(e) { + // Something blew up. Not supported? + self.errorHandler('stop','Failed: Flash unsupported / undefined sound ID (check XML)',arguments,e); + } + } + + this.getArgs = function(params) { + var x = params?params.length:0; + if (!x) return ''; + var result = ''; + for (var i=0; i