flash on 2011-11-21

by JiminP
♥0 | Line 47 | Modified 2011-11-21 08:53:32 | MIT License
play

ActionScript3 source code

/**
 * Copyright JiminP ( http://wonderfl.net/user/JiminP )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/w7Rv
 */

package{
    import flash.display.*;
    import flash.external.ExternalInterface;
    import flash.events.*;
    import flash.errors.*;
    import flash.system.*;
    import flash.media.Sound;
    public class FlashInterface extends MovieClip{
        public static const VERSION:String = '0.0.1';
        public var mySO:SharedObject;
        public var sounds:Vector.<Sound>;
        public function FlashInterface(){
            try{
                mySO = SharedObject.getLocal("uIRC_userData_0_2");
                if(!mySO.data['json']) mySO.data['json'] = '';
                sounds = new Vector.<Sound>(16);
                ExternalInterface.call("trace","FlashInterface v"+VERSION+" is waking up...");
                ExternalInterface.addCallback("addSound", addSound);
                ExternalInterface.addCallback("playSound", playSound);
                ExternalInterface.addCallback("getLocalData", getLocalData);
                ExternalInterface.addCallback("setLocalData", setLocalData);
                ExternalInterface.call("onFlashLoad_preChat");
            }catch(err:Error){
                ExternalInterface.call("trace","Error "+err.errorID+" : "+err.message);
                ExternalInterface.call("trace",err.getStackTrace());
                ExternalInterface.call("bsod");
            }
        }
        public function getLocalData(){
            return mySO.data['json'];
        }
        public function setLocalData(s:String){
            mySO.data['json'] = s;
            mySO.flush();
        }
        public function addSound(ind:int, url:String):Boolean{
            if(ind<0||ind>=16) return false;
            sounds[ind] = new Sound(new URLRequest(url));
            return true;
        }
        public function playSound(ind:int):Boolean{
            if(ind<0||ind>=16||!(sounds[ind].url)) return false;
            sounds[ind].play();
            return true;
        }
    }
}