Mercurial > hg > audiodb
view bindings/as3/examples/simpletest/src/Example.as @ 737:18974af682cf
* Tweaks to event strings for safety
* Fixed mis-firing event in Bridge
* Added a simple example
* Added packaging
author | mas01mj |
---|---|
date | Thu, 16 Sep 2010 11:39:52 +0000 |
parents | |
children |
line wrap: on
line source
package { import org.omras2.audiodb.Bridge; import org.omras2.audiodb.SearchEvent; import org.omras2.audiodb.SoundEvent; import org.omras2.audiodb.model.SearchResult; import flash.display.Sprite; import flash.media.Sound; /** * @author mikej */ public class Example extends Sprite { private var _bridge : Bridge; private var _sounds : Array; public function Example() { this._bridge = new Bridge("http://0.0.0.0:8080"); this._sounds = []; // Find the tracks similar to AWAL1000 _bridge.addEventListener(SearchEvent.COMPLETE, this.handleSearchComplete); _bridge.search("AWAL1000"); } private function handleSearchComplete(event : SearchEvent) : void { // Now grab the first 20s of the first result _bridge.addEventListener(SoundEvent.COMPLETE, this.handleSoundLoaded); var query : SearchResult = (event.results[0] as SearchResult); _bridge.getSound(query.uid, query.ipos, 5); var closestMatch : SearchResult = event.results[1] as SearchResult; _bridge.getSound(closestMatch.uid, closestMatch.ipos , 5); } private function handleSoundLoaded(event : SoundEvent) : void { _sounds.push(event.sound); if(_sounds.length == 2) { for each(var sound : Sound in _sounds) { sound.play(); } } } } }