Advertisement
Guest User

Untitled

a guest
Sep 15th, 2014
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package {
  2.     import flash.events.*;
  3.     import flash.utils.*;
  4.     import flash.media.*;
  5.     import flash.net.*;
  6.     import flash.external.*;
  7.  
  8.     public class SoundManager2_SMSound_AS3 extends Sound {
  9.  
  10.         public var sm:SoundManager2_AS3 = null;
  11.         public var baseJSController:String = "soundManager";
  12.         public var baseJSObject:String;
  13.         public var soundChannel:SoundChannel;
  14.         public var urlRequest:URLRequest;
  15.         public var soundLoaderContext:SoundLoaderContext;
  16.         public var waveformData:ByteArray;
  17.         public var waveformDataArray:Array;
  18.         public var eqData:ByteArray;
  19.         public var eqDataArray:Array;
  20.         public var usePeakData:Boolean = false;
  21.         public var useWaveformData:Boolean = false;
  22.         public var useEQData:Boolean = false;
  23.         public var sID:String;
  24.         public var sURL:String;
  25.         public var didFinish:Boolean;
  26.         public var loaded:Boolean;
  27.         public var connected:Boolean;
  28.         public var failed:Boolean;
  29.         public var paused:Boolean;
  30.         public var finished:Boolean;
  31.         public var duration:Number;
  32.         public var handledDataError:Boolean = false;
  33.         public var ignoreDataError:Boolean = false;
  34.         public var autoPlay:Boolean = false;
  35.         public var autoLoad:Boolean = false;
  36.         public var pauseOnBufferFull:Boolean = false;
  37.         public var loops:Number = 1;
  38.         public var lastValues:Object;
  39.         public var didLoad:Boolean = false;
  40.         public var useEvents:Boolean = false;
  41.         public var sound:Sound;
  42.         public var cc:Object;
  43.         public var nc:NetConnection;
  44.         public var ns:NetStream = null;
  45.         public var st:SoundTransform;
  46.         public var useNetstream:Boolean;
  47.         public var bufferTime:Number = 3;
  48.         public var lastNetStatus:String = null;
  49.         public var serverUrl:String = null;
  50.         public var checkPolicyFile:Boolean = false;
  51.  
  52.         public function SoundManager2_SMSound_AS3(_arg1:SoundManager2_AS3, _arg2:String=null, _arg3:String=null, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:Boolean=false, _arg7:Boolean=false, _arg8:Number=1, _arg9:String=null, _arg10:Number=0, _arg11:Boolean=false, _arg12:Boolean=false, _arg13:Boolean=false, _arg14:Boolean=false){
  53.             this.baseJSObject = (this.baseJSController + ".sounds");
  54.             this.soundChannel = new SoundChannel();
  55.             this.waveformData = new ByteArray();
  56.             this.waveformDataArray = [];
  57.             this.eqData = new ByteArray();
  58.             this.eqDataArray = [];
  59.             this.lastValues = {
  60.                 bytes:0,
  61.                 position:0,
  62.                 duration:0,
  63.                 volume:100,
  64.                 pan:0,
  65.                 loops:1,
  66.                 leftPeak:0,
  67.                 rightPeak:0,
  68.                 waveformDataArray:null,
  69.                 eqDataArray:null,
  70.                 isBuffering:null,
  71.                 bufferLength:0
  72.             };
  73.             this.sound = new Sound();
  74.             super();
  75.             this.sm = _arg1;
  76.             this.sID = _arg2;
  77.             this.sURL = _arg3;
  78.             this.usePeakData = _arg4;
  79.             this.useWaveformData = _arg5;
  80.             this.useEQData = _arg6;
  81.             this.urlRequest = new URLRequest(_arg3);
  82.             this.didFinish = false;
  83.             this.loaded = false;
  84.             this.connected = false;
  85.             this.failed = false;
  86.             this.finished = false;
  87.             this.soundChannel = null;
  88.             this.lastNetStatus = null;
  89.             this.useNetstream = _arg7;
  90.             this.serverUrl = _arg9;
  91.             this.duration = _arg10;
  92.             this.useEvents = _arg12;
  93.             this.autoLoad = _arg13;
  94.             if (_arg8){
  95.                 this.bufferTime = _arg8;
  96.             };
  97.             this.checkPolicyFile = _arg14;
  98.             if (this.useNetstream){
  99.                 if (((this.serverUrl) && (this.autoLoad))){
  100.                     this.pauseOnBufferFull = true;
  101.                 };
  102.                 this.cc = new Object();
  103.                 this.nc = new NetConnection();
  104.                 this.nc.client = this;
  105.                 this.nc.addEventListener(NetStatusEvent.NET_STATUS, this.netStatusHandler);
  106.                 if (this.serverUrl != null){
  107.                 };
  108.                 this.nc.connect(_arg9);
  109.             } else {
  110.                 this.connected = true;
  111.             };
  112.         }
  113.         public function netStatusHandler(_arg1:NetStatusEvent):void{
  114.             var event:* = _arg1;
  115.             if (this.useEvents){
  116.             };
  117.             switch (event.info.code){
  118.                 case "NetConnection.Connect.Success":
  119.                     try {
  120.                         this.ns = new NetStream(this.nc);
  121.                         this.ns.checkPolicyFile = this.checkPolicyFile;
  122.                         this.ns.bufferTime = this.bufferTime;
  123.                         this.st = new SoundTransform();
  124.                         this.cc.onMetaData = this.metaDataHandler;
  125.                         this.cc.setCaption = this.captionHandler;
  126.                         this.ns.client = this.cc;
  127.                         this.ns.receiveAudio(true);
  128.                         this.addNetstreamEvents();
  129.                         this.connected = true;
  130.                         if (((this.serverUrl) && (this.useEvents))){
  131.                             ExternalInterface.call((((this.sm.baseJSObject + "['") + this.sID) + "']._onconnect"), 1);
  132.                         };
  133.                     } catch(e:Error) {
  134.                         this.failed = true;
  135.                         ExternalInterface.call((((baseJSObject + "['") + this.sID) + "']._onfailure"), "Connection failed!", event.info.level, event.info.code);
  136.                     };
  137.                     break;
  138.                 case "NetStream.Play.StreamNotFound":
  139.                     this.failed = true;
  140.                     ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "Stream not found!", event.info.level, event.info.code);
  141.                     break;
  142.                 case "NetConnection.Connect.Closed":
  143.                     this.failed = true;
  144.                     ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "Connection closed!", event.info.level, event.info.code);
  145.                     break;
  146.                 case "NetConnection.Connect.Failed":
  147.                     this.failed = true;
  148.                     ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "Connection failed!", event.info.level, event.info.code);
  149.                     break;
  150.                 default:
  151.                     this.failed = true;
  152.                     ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "", event.info.level, event.info.code);
  153.             };
  154.         }
  155.         public function writeDebug(_arg1:String, _arg2:Number=0):Boolean{
  156.             return (this.sm.writeDebug(_arg1, _arg2));
  157.         }
  158.         public function metaDataHandler(_arg1:Object):void{
  159.             var prop:* = null;
  160.             var data:* = null;
  161.             var infoObject:* = _arg1;
  162.             if (this.sm.debugEnabled){
  163.                 data = new String();
  164.                 for (prop in infoObject) {
  165.                     data = (data + (((prop + ": ") + infoObject[prop]) + " \n"));
  166.                 };
  167.             };
  168.             this.duration = (infoObject.duration * 1000);
  169.             if (!this.loaded){
  170.                 ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._whileloading"), this.bytesLoaded, this.bytesTotal, ((this.duration) || (infoObject.duration)));
  171.             };
  172.             var metaData:* = [];
  173.             var metaDataProps:* = [];
  174.             for (prop in infoObject) {
  175.                 metaData.push(prop);
  176.                 metaDataProps.push(infoObject[prop]);
  177.             };
  178.             ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onmetadata"), metaData, metaDataProps);
  179.             if (!this.serverUrl){
  180.                 this.cc.onMetaData = function (_arg1:Object):void{
  181.                 };
  182.             };
  183.         }
  184.         public function captionHandler(_arg1:Object):void{
  185.             var _local2:String;
  186.             var _local3:*;
  187.             if (this.sm.debugEnabled){
  188.                 _local2 = new String();
  189.                 for (_local3 in _arg1) {
  190.                     _local2 = (_local2 + (((_local3 + ": ") + _arg1[_local3]) + " \n"));
  191.                 };
  192.             };
  193.             ExternalInterface.call((((this.sm.baseJSObject + "['") + this.sID) + "']._oncaptiondata"), _arg1["dynamicMetadata"]);
  194.         }
  195.         public function getWaveformData():void{
  196.             SoundMixer.computeSpectrum(this.waveformData, false, 0);
  197.             this.waveformDataArray = [];
  198.             var _local1:int;
  199.             var _local2:int = (this.waveformData.length / 4);
  200.             while (_local1 < _local2) {
  201.                 this.waveformDataArray.push((int((this.waveformData.readFloat() * 1000)) / 1000));
  202.                 _local1++;
  203.             };
  204.         }
  205.         public function getEQData():void{
  206.             SoundMixer.computeSpectrum(this.eqData, true, 0);
  207.             this.eqDataArray = [];
  208.             var _local1:int;
  209.             var _local2:int = (this.eqData.length / 4);
  210.             while (_local1 < _local2) {
  211.                 this.eqDataArray.push((int((this.eqData.readFloat() * 1000)) / 1000));
  212.                 _local1++;
  213.             };
  214.         }
  215.         public function start(_arg1:int, _arg2:int, _arg3:Boolean):Boolean{
  216.             var _local4:Boolean;
  217.             this.useEvents = true;
  218.             if (this.useNetstream){
  219.                 this.finished = false;
  220.                 this.cc.onMetaData = this.metaDataHandler;
  221.                 _local4 = ((!((this.lastValues.position == null))) && (!((this.lastValues.position == _arg1))));
  222.                 if (_local4){
  223.                     this.ns.bufferTime = this.bufferTime;
  224.                 };
  225.                 if (this.paused){
  226.                     this.ns.resume();
  227.                     if (!this.didLoad){
  228.                         this.didLoad = true;
  229.                     };
  230.                     this.paused = false;
  231.                 } else {
  232.                     if (!this.didLoad){
  233.                         this.ns.play(this.sURL);
  234.                         this.pauseOnBufferFull = false;
  235.                         this.didLoad = true;
  236.                         this.paused = false;
  237.                     } else {
  238.                         this.pauseOnBufferFull = false;
  239.                         this.ns.play(this.sURL);
  240.                     };
  241.                 };
  242.                 if (_local4){
  243.                     this.ns.seek(((this.serverUrl) ? (_arg1 / 1000) : _arg1));
  244.                     this.lastValues.position = _arg1;
  245.                 };
  246.                 this.applyTransform();
  247.             } else {
  248.                 if (((!(this.soundChannel)) || (_arg3))){
  249.                     this.soundChannel = this.play(_arg1, _arg2);
  250.                     this.addEventListener(Event.SOUND_COMPLETE, this._onfinish);
  251.                     this.applyTransform();
  252.                 } else {
  253.                     if (this.soundChannel){
  254.                         this.soundChannel.stop();
  255.                     };
  256.                     this.soundChannel = this.play(_arg1, _arg2);
  257.                     this.addEventListener(Event.SOUND_COMPLETE, this._onfinish);
  258.                     this.applyTransform();
  259.                 };
  260.             };
  261.             return (((((!(this.useNetstream)) && ((this.soundChannel === null)))) ? false : true));
  262.         }
  263.         private function _onfinish():void{
  264.             this.REMoveEventListener(Event.SOUND_COMPLETE, this._onfinish);
  265.         }
  266.         public function loadSound(_arg1:String):void{
  267.             if (this.useNetstream){
  268.                 this.useEvents = true;
  269.                 if (this.didLoad != true){
  270.                     this.ns.play(this.sURL);
  271.                     if (!this.autoPlay){
  272.                         this.pauseOnBufferFull = true;
  273.                     };
  274.                     this.paused = false;
  275.                 };
  276.                 this.applyTransform();
  277.             } else {
  278.                 try {
  279.                     this.didLoad = true;
  280.                     this.urlRequest = new URLRequest(_arg1);
  281.                     this.soundLoaderContext = new SoundLoaderContext(1000, this.checkPolicyFile);
  282.                     this.load(this.urlRequest, this.soundLoaderContext);
  283.                 } catch(e:Error) {
  284.                 };
  285.             };
  286.         }
  287.         public function setAutoPlay(_arg1:Boolean):void{
  288.             if (!this.serverUrl){
  289.                 this.autoPlay = _arg1;
  290.             } else {
  291.                 this.autoPlay = _arg1;
  292.                 if (this.autoPlay){
  293.                     this.pauseOnBufferFull = false;
  294.                 } else {
  295.                     if (!this.autoPlay){
  296.                         this.pauseOnBufferFull = true;
  297.                     };
  298.                 };
  299.             };
  300.         }
  301.         public function setVolume(_arg1:Number):void{
  302.             this.lastValues.volume = (_arg1 / 100);
  303.             this.applyTransform();
  304.         }
  305.         public function setPan(_arg1:Number):void{
  306.             this.lastValues.pan = (_arg1 / 100);
  307.             this.applyTransform();
  308.         }
  309.         public function applyTransform():void{
  310.             var _local1:SoundTransform = new SoundTransform(this.lastValues.volume, this.lastValues.pan);
  311.             if (this.useNetstream){
  312.                 if (this.ns){
  313.                     this.ns.soundTransform = _local1;
  314.                 };
  315.             } else {
  316.                 if (this.soundChannel){
  317.                     this.soundChannel.soundTransform = _local1;
  318.                 };
  319.             };
  320.         }
  321.         public function onBWDone():void{
  322.         }
  323.         public function onPlayStatus(_arg1:Object):void{
  324.             switch (_arg1.code){
  325.                 case "NetStream.Play.Complete":
  326.                     break;
  327.             };
  328.         }
  329.         public function doIOError(_arg1:IOErrorEvent):void{
  330.             ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onload"), 0);
  331.         }
  332.         public function doAsyncError(_arg1:AsyncErrorEvent):void{
  333.         }
  334.         public function doNetStatus(_arg1:NetStatusEvent):void{
  335.             var _local2:Boolean;
  336.             if ((((((_arg1.info.code == "NetStream.Failed")) || ((_arg1.info.code == "NetStream.Play.FileStructureInvalid")))) || ((_arg1.info.code == "NetStream.Play.StreamNotFound")))){
  337.                 this.lastNetStatus = _arg1.info.code;
  338.                 this.failed = true;
  339.                 ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "", _arg1.info.level, _arg1.info.code);
  340.                 return;
  341.             };
  342.             if (_arg1.info.code == "NetStream.Play.Stop"){
  343.                 if (((!(this.finished)) && (((!(this.useNetstream)) || (!(this.serverUrl)))))){
  344.                     this.sm.checkProgress();
  345.                     this.finished = true;
  346.                     ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfinish"));
  347.                 };
  348.             } else {
  349.                 if ((((((_arg1.info.code == "NetStream.Play.Start")) || ((_arg1.info.code == "NetStream.Buffer.Empty")))) || ((_arg1.info.code == "NetStream.Buffer.Full")))){
  350.                     if (((((this.serverUrl) && ((_arg1.info.code == "NetStream.Buffer.Full")))) && (this.pauseOnBufferFull))){
  351.                         this.ns.pause();
  352.                         this.paused = true;
  353.                         this.pauseOnBufferFull = false;
  354.                         ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "'].pause"), false);
  355.                     };
  356.                     _local2 = (((_arg1.info.code == "NetStream.Buffer.Empty")) || ((_arg1.info.code == "NetStream.Play.Start")));
  357.                     if (_local2 != this.lastValues.isBuffering){
  358.                         this.lastValues.isBuffering = _local2;
  359.                         ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onbufferchange"), ((this.lastValues.isBuffering) ? 1 : 0));
  360.                     };
  361.                     if ((((_arg1.info.code == "NetStream.Buffer.Empty")) && ((((this.lastNetStatus == "NetStream.Play.Stop")) || ((this.lastNetStatus == "NetStream.Buffer.Flush")))))){
  362.                         if (((this.duration) && (((this.ns.time * 1000) < (this.duration - 3000))))){
  363.                         } else {
  364.                             if (!this.finished){
  365.                                 this.finished = true;
  366.                                 this.sm.checkProgress();
  367.                                 ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfinish"));
  368.                             };
  369.                         };
  370.                     } else {
  371.                         if (_arg1.info.code == "NetStream.Buffer.Empty"){
  372.                             this.ns.bufferTime = this.bufferTime;
  373.                         };
  374.                     };
  375.                 };
  376.             };
  377.             this.lastNetStatus = _arg1.info.code;
  378.         }
  379.         public function addNetstreamEvents():void{
  380.             this.ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, this.doAsyncError);
  381.             this.ns.addEventListener(NetStatusEvent.NET_STATUS, this.doNetStatus);
  382.             this.ns.addEventListener(IOErrorEvent.IO_ERROR, this.doIOError);
  383.         }
  384.         public function REMoveNetstreamEvents():void{
  385.             this.ns.removeEventListener(AsyncErrorEvent.ASYNC_ERROR, this.doAsyncError);
  386.             this.ns.REMoveEventListener(NetStatusEvent.NET_STATUS, this.doNetStatus);
  387.             this.ns.addEventListener(NetStatusEvent.NET_STATUS, this.dummyNetStatusHandler);
  388.             this.ns.REMoveEventListener(IOErrorEvent.IO_ERROR, this.doIOError);
  389.             this.nc.REMoveEventListener(NetStatusEvent.NET_STATUS, this.netStatusHandler);
  390.         }
  391.         public function dummyNetStatusHandler(_arg1:NetStatusEvent):void{
  392.         }
  393.  
  394.     }
  395. }//package
  396. package {
  397.     import flash.events.*;
  398.     import flash.display.*;
  399.     import flash.utils.*;
  400.     import flash.text.*;
  401.     import flash.media.*;
  402.     import flash.system.*;
  403.     import flash.ui.*;
  404.     import flash.external.*;
  405.  
  406.     public class SoundManager2_AS3 extends Sprite {
  407.  
  408.         public var version:String = "V2.97a.20130512";
  409.         public var version_as:String = "(AS3/Flash 9)";
  410.         public var allow_xdomain_scripting:Boolean = false;
  411.         public var xdomain:String = "*";
  412.         public var baseJSController:String = "soundManager";
  413.         public var baseJSObject:String;
  414.         public var sounds:Array;
  415.         public var soundObjects:Dictionary;
  416.         public var timer:Timer = null;
  417.         public var pollingEnabled:Boolean = false;
  418.         public var debugEnabled:Boolean = false;
  419.         public var flashDebugEnabled:Boolean = false;
  420.         public var loaded:Boolean = false;
  421.         public var currentObject:SoundManager2_SMSound_AS3 = null;
  422.         public var paramList:Object = null;
  423.         public var messages:Array;
  424.         public var textField:TextField = null;
  425.         public var textStyle:TextFormat;
  426.         public var didSandboxMessage:Boolean = false;
  427.         public var caughtFatal:Boolean = false;
  428.  
  429.         public function SoundManager2_AS3(){
  430.             var timer:* = null;
  431.             this.baseJSObject = (this.baseJSController + ".sounds");
  432.             this.sounds = [];
  433.             this.soundObjects = new Dictionary();
  434.             this.messages = [];
  435.             this.textStyle = new TextFormat();
  436.             super();
  437.             if (((this.allow_xdomain_scripting) && (this.xdomain))){
  438.                 Security.allowDomain(this.xdomain);
  439.                 this.version_as = (this.version_as + " - cross-domain enabled");
  440.             };
  441.             this.paramList = this.root.loaderInfo.parameters;
  442.             var sm2Menu:* = new ContextMenu();
  443.             var sm2MenuItem:* = new ContextMenuItem(((("SoundManager " + this.version) + " ") + this.version_as));
  444.             sm2MenuItem.enabled = false;
  445.             sm2Menu.customItems.push(sm2MenuItem);
  446.             contextMenu = sm2Menu;
  447.             if (ExternalInterface.available){
  448.                 try {
  449.                     ExternalInterface.addCallback("_load", this._load);
  450.                     ExternalInterface.addCallback("_unload", this._unload);
  451.                     ExternalInterface.addCallback("_stop", this._stop);
  452.                     ExternalInterface.addCallback("_start", this._start);
  453.                     ExternalInterface.addCallback("_pause", this._pause);
  454.                     ExternalInterface.addCallback("_setPosition", this._setPosition);
  455.                     ExternalInterface.addCallback("_setPan", this._setPan);
  456.                     ExternalInterface.addCallback("_setVolume", this._setVolume);
  457.                     ExternalInterface.addCallback("_setPolling", this._setPolling);
  458.                     ExternalInterface.addCallback("_externalInterfaceTest", this._externalInterfaceTest);
  459.                     ExternalInterface.addCallback("_disableDebug", this._disableDebug);
  460.                     ExternalInterface.addCallback("_getMemoryUse", this._getMemoryUse);
  461.                     ExternalInterface.addCallback("_createSound", this._createSound);
  462.                     ExternalInterface.addCallback("_destroySound", this._destroySound);
  463.                     ExternalInterface.addCallback("_setAutoPlay", this._setAutoPlay);
  464.                 } catch(e:Error) {
  465.                 };
  466.             };
  467.             timer = new Timer(20, 0);
  468.             timer.addEventListener(TimerEvent.TIMER, function ():void{
  469.                 timer.reset();
  470.                 _externalInterfaceTest(true);
  471.             });
  472.             timer.start();
  473.         }
  474.         public function flashDebug(_arg1:String):void{
  475.         }
  476.         public function _setAutoPlay(_arg1:String, _arg2:Boolean):void{
  477.             var _local3:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
  478.             if (_local3){
  479.                 _local3.setAutoPlay(_arg2);
  480.             };
  481.         }
  482.         public function writeDebug(_arg1:String, _arg2:Number=0):Boolean{
  483.             if (!this.debugEnabled){
  484.                 return (false);
  485.             };
  486.             return (true);
  487.         }
  488.         public function _externalInterfaceTest(_arg1:Boolean):Boolean{
  489.             var isFirstCall:* = _arg1;
  490.             var sandboxType:* = Security["sandboxType"];
  491.             if (((((!(this.didSandboxMessage)) && (!((sandboxType == "localTrusted"))))) && (!((sandboxType == "remote"))))){
  492.                 this.didSandboxMessage = true;
  493.             };
  494.             try {
  495.                 if (isFirstCall == true){
  496.                     ExternalInterface.call((this.baseJSController + "._externalInterfaceOK"), this.version);
  497.                 } else {
  498.                     ExternalInterface.call((this.baseJSController + "._setSandboxType"), sandboxType);
  499.                 };
  500.             } catch(e:Error) {
  501.                 if (!caughtFatal){
  502.                     caughtFatal = true;
  503.                 };
  504.                 return (false);
  505.             };
  506.             return (true);
  507.         }
  508.         public function _disableDebug():void{
  509.             this.debugEnabled = false;
  510.         }
  511.         public function checkLoadProgress(_arg1:Event):void{
  512.             var _local2:Object;
  513.             var _local3:int;
  514.             var _local4:int;
  515.             var _local5:int;
  516.             var _local6:String;
  517.             try {
  518.                 _local2 = _arg1.target;
  519.                 _local3 = _local2.bytesLoaded;
  520.                 _local4 = _local2.bytesTotal;
  521.                 _local5 = ((((_local2.length) || (_local2.duration))) || (0));
  522.                 _local6 = (((this.baseJSObject + "['") + _local2.sID) + "']._whileloading");
  523.                 ExternalInterface.call(_local6, _local3, _local4, _local5);
  524.                 if (((((_local3) && (_local4))) && (!((_local3 == _local2.lastValues.bytes))))){
  525.                     _local2.lastValues.bytes = _local3;
  526.                     ExternalInterface.call(_local6, _local3, _local4, _local5);
  527.                 };
  528.             } catch(e:Error) {
  529.             };
  530.         }
  531.         public function checkSoundProgress(_arg1:SoundManager2_SMSound_AS3, _arg2:Boolean=false, _arg3:Boolean=false):void{
  532.             var dataError:* = null;
  533.             var playedLoops:* = NaN;
  534.             var waveDataLeft:* = null;
  535.             var waveDataRight:* = null;
  536.             var eqDataLeft:* = null;
  537.             var eqDataRight:* = null;
  538.             var oSound:* = _arg1;
  539.             var forceCheck:Boolean = _arg2;
  540.             var forceEndCheck:Boolean = _arg3;
  541.             var bL:* = 0;
  542.             var bT:* = 0;
  543.             var nD:* = 0;
  544.             var nP:* = 0;
  545.             var bufferLength:* = 0;
  546.             var lP:* = 0;
  547.             var rP:* = 0;
  548.             var isBuffering:* = null;
  549.             var oSoundChannel:* = null;
  550.             var sMethod:* = null;
  551.             var newPeakData:* = false;
  552.             var newWaveformData:* = false;
  553.             var newEQData:* = false;
  554.             var areSoundsInaccessible:* = SoundMixer.areSoundsInaccessible();
  555.             var isPlaying:* = true;
  556.             var hasNew:* = false;
  557.             var hasNewLoaded:* = false;
  558.             if (((((((!(oSound)) || (!(oSound.useEvents)))) || (oSound.failed))) || (!(oSound.connected)))){
  559.                 return;
  560.             };
  561.             sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._whileloading");
  562.             if (oSound.useNetstream){
  563.                 if (!oSound.ns){
  564.                     return;
  565.                 };
  566.                 bufferLength = oSound.ns.bufferLength;
  567.                 bL = oSound.ns.bytesLoaded;
  568.                 bT = oSound.ns.bytesTotal;
  569.                 nD = int(((oSound.duration) || (0)));
  570.                 nP = (oSound.ns.time * 1000);
  571.                 if (oSound.paused){
  572.                     nP = oSound.lastValues.position;
  573.                 };
  574.                 if ((((nP >= 0)) && (!((nP == oSound.lastValues.position))))){
  575.                     oSound.lastValues.position = nP;
  576.                     hasNew = true;
  577.                 };
  578.                 if (nD > oSound.lastValues.duration){
  579.                     oSound.lastValues.duration = nD;
  580.                     hasNew = true;
  581.                 };
  582.                 if (bL > oSound.lastValues.bytesLoaded){
  583.                     oSound.lastValues.bytesLoaded = bL;
  584.                     hasNew = true;
  585.                 };
  586.                 if (bT > oSound.lastValues.bytes){
  587.                     oSound.lastValues.bytes = bT;
  588.                     hasNew = true;
  589.                 };
  590.                 if (bufferLength != oSound.lastValues.bufferLength){
  591.                     oSound.lastValues.bufferLength = bufferLength;
  592.                     hasNew = true;
  593.                 };
  594.                 if (((((((((!((oSound.loaded == true))) && ((nD > 0)))) && ((bL == bT)))) && (!((bL == 0))))) && (!((bT == 0))))){
  595.                     oSound.loaded = true;
  596.                     try {
  597.                         ExternalInterface.call(sMethod, bL, bT, nD, bufferLength);
  598.                         ExternalInterface.call((((this.baseJSObject + "['") + oSound.sID) + "']._onload"), (((oSound.duration > 0)) ? 1 : 0));
  599.                     } catch(e:Error) {
  600.                     };
  601.                 } else {
  602.                     if (((!((oSound.loaded == true))) && (hasNew))){
  603.                         ExternalInterface.call(sMethod, bL, bT, nD, bufferLength);
  604.                     };
  605.                 };
  606.             } else {
  607.                 oSoundChannel = oSound.soundChannel;
  608.                 bL = oSound.bytesLoaded;
  609.                 bT = oSound.bytesTotal;
  610.                 nD = int(((oSound.length) || (0)));
  611.                 isBuffering = oSound.isBuffering;
  612.                 if (oSoundChannel){
  613.                     nP = ((oSoundChannel.position) || (0));
  614.                     if ((((oSound.lastValues.loops > 1)) && ((nP > oSound.length)))){
  615.                         playedLoops = Math.floor((nP / oSound.length));
  616.                         nP = (nP - (oSound.length * playedLoops));
  617.                     };
  618.                     if (oSound.usePeakData){
  619.                         lP = (int((oSoundChannel.leftPeak * 1000)) / 1000);
  620.                         rP = (int((oSoundChannel.rightPeak * 1000)) / 1000);
  621.                     } else {
  622.                         lP = 0;
  623.                         rP = 0;
  624.                     };
  625.                 } else {
  626.                     nP = 0;
  627.                 };
  628.                 if (forceEndCheck){
  629.                     if (nP < nD){
  630.                         nP = nD;
  631.                     };
  632.                 };
  633.                 if (((((!((nP == oSound.lastValues.position))) && (!((nP === 0))))) && (!(oSound.didFinish)))){
  634.                     oSound.lastValues.position = nP;
  635.                     hasNew = true;
  636.                 };
  637.                 if (nD > oSound.lastValues.duration){
  638.                     oSound.lastValues.duration = nD;
  639.                     hasNew = true;
  640.                 };
  641.                 if (bL > oSound.lastValues.bytesLoaded){
  642.                     oSound.lastValues.bytesLoaded = bL;
  643.                     hasNew = true;
  644.                 };
  645.                 if (bT > oSound.lastValues.bytes){
  646.                     oSound.lastValues.bytes = bT;
  647.                     hasNew = true;
  648.                     hasNewLoaded = true;
  649.                 };
  650.                 if (hasNewLoaded){
  651.                     oSound.lastValues.bytes = bL;
  652.                     ExternalInterface.call(sMethod, bL, bT, nD);
  653.                 };
  654.             };
  655.             if (((oSoundChannel) && (oSound.usePeakData))){
  656.                 if (lP != oSound.lastValues.leftPeak){
  657.                     oSound.lastValues.leftPeak = lP;
  658.                     newPeakData = true;
  659.                 };
  660.                 if (rP != oSound.lastValues.rightPeak){
  661.                     oSound.lastValues.rightPeak = rP;
  662.                     newPeakData = true;
  663.                 };
  664.             };
  665.             var newDataError:* = false;
  666.             isPlaying = ((((oSound.didLoad) && (!(oSound.paused)))) && (((!(oSound.useNetstream)) || (((oSound.useNetstream) && (!((oSound.lastNetStatus == "NetStream.Play.Stop"))))))));
  667.             if (((isPlaying) && (((oSoundChannel) || (oSound.useNetstream))))){
  668.                 if (oSound.useWaveformData){
  669.                     if (((((!(areSoundsInaccessible)) && (!(oSound.handledDataError)))) && (!(oSound.ignoreDataError)))){
  670.                         try {
  671.                             oSound.getWaveformData();
  672.                         } catch(e:Error) {
  673.                             if (!oSound.handledDataError){
  674.                             };
  675.                             newDataError = true;
  676.                             dataError = e.toString();
  677.                         };
  678.                     };
  679.                 };
  680.                 if (oSound.useEQData){
  681.                     if (((((!(areSoundsInaccessible)) && (!(oSound.handledDataError)))) && (!(oSound.ignoreDataError)))){
  682.                         try {
  683.                             oSound.getEQData();
  684.                         } catch(e:Error) {
  685.                             if (!oSound.handledDataError){
  686.                             };
  687.                             newDataError = true;
  688.                             dataError = e.toString();
  689.                         };
  690.                     };
  691.                 };
  692.                 if (oSound.waveformDataArray != oSound.lastValues.waveformDataArray){
  693.                     oSound.lastValues.waveformDataArray = oSound.waveformDataArray;
  694.                     newWaveformData = true;
  695.                 };
  696.                 if (oSound.eqDataArray != oSound.lastValues.eqDataArray){
  697.                     oSound.lastValues.eqDataArray = oSound.eqDataArray;
  698.                     newEQData = true;
  699.                 };
  700.                 if (((newDataError) && (!(oSound.handledDataError)))){
  701.                     sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._ondataerror");
  702.                     ExternalInterface.call(sMethod, ("data unavailable: " + dataError));
  703.                     oSound.handledDataError = true;
  704.                 };
  705.             };
  706.             if (((!(("number" == "undefined"))) && (((hasNew) && (((((((oSound.soundChannel) || (oSound.useNetstream))) || (forceCheck))) || (forceEndCheck))))))){
  707.                 sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._whileplaying");
  708.                 waveDataLeft = ((newWaveformData) ? oSound.waveformDataArray.slice(0, 0x0100).join(",") : null);
  709.                 waveDataRight = ((newWaveformData) ? oSound.waveformDataArray.slice(0x0100).join(",") : null);
  710.                 eqDataLeft = ((newEQData) ? oSound.eqDataArray.slice(0, 0x0100).join(",") : null);
  711.                 eqDataRight = ((newEQData) ? oSound.eqDataArray.slice(0x0100).join(",") : null);
  712.                 ExternalInterface.call(sMethod, nP, ((newPeakData) ? {
  713.     leftPeak:lP,
  714.     rightPeak:rP
  715. } : null), waveDataLeft, waveDataRight, ((newEQData) ? {
  716.     leftEQ:eqDataLeft,
  717.     rightEQ:eqDataRight
  718. } : null));
  719.             };
  720.             if (((!(oSound.useNetstream)) && (!((oSound.isBuffering == oSound.lastValues.isBuffering))))){
  721.                 oSound.lastValues.isBuffering = oSound.isBuffering;
  722.                 sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._onbufferchange");
  723.                 ExternalInterface.call(sMethod, ((oSound.isBuffering) ? 1 : 0));
  724.             };
  725.         }
  726.         public function checkProgress():void{
  727.             var _local1:int;
  728.             var _local2:int = this.sounds.length;
  729.             while (_local1 < _local2) {
  730.                 this.checkSoundProgress(this.soundObjects[this.sounds[_local1]]);
  731.                 _local1++;
  732.             };
  733.         }
  734.         public function onLoadError(_arg1:Object):void{
  735.             ExternalInterface.call((((this.baseJSObject + "['") + _arg1.sID) + "']._onload"), 0);
  736.         }
  737.         public function onLoad(_arg1:Event):void{
  738.             var _local2:Object = _arg1.target;
  739.             this.checkSoundProgress(this.soundObjects[_local2.sID]);
  740.             if (!_local2.useNetstream){
  741.                 _local2.loaded = true;
  742.                 ExternalInterface.call((((this.baseJSObject + "['") + _local2.sID) + "']._whileloading"), _local2.bytesLoaded, _local2.bytesTotal, ((_local2.length) || (_local2.duration)));
  743.                 ExternalInterface.call((((this.baseJSObject + "['") + _local2.sID) + "']._onload"), ((((_local2.length) || (_local2.duration))) ? 1 : 0));
  744.             };
  745.         }
  746.         public function onID3(_arg1:Event):void{
  747.             var _local2:Object;
  748.             var _local3:Array;
  749.             var _local4:Array;
  750.             var _local5:String;
  751.             try {
  752.                 _local2 = _arg1.target;
  753.                 _local3 = [];
  754.                 _local4 = [];
  755.                 for (_local5 in _local2.id3) {
  756.                     _local4.push(_local5);
  757.                     _local3.push(_local2.id3[_local5]);
  758.                 };
  759.                 ExternalInterface.call((((this.baseJSObject + "['") + _local2.sID) + "']._onid3"), _local4, _local3);
  760.             } catch(e:Error) {
  761.             };
  762.             _local2.REMoveEventListener(Event.ID3, this.onID3);
  763.         }
  764.         public function registerOnComplete(_arg1:String):void{
  765.             var oSound:* = null;
  766.             var sID:* = _arg1;
  767.             oSound = this.soundObjects[sID];
  768.             if (((oSound) && (oSound.soundChannel))){
  769.                 oSound.didFinish = false;
  770.                 oSound.soundChannel.addEventListener(Event.SOUND_COMPLETE, function ():void{
  771.                     if (oSound){
  772.                         checkSoundProgress(oSound, true, true);
  773.                         try {
  774.                             oSound.ignoreDataError = true;
  775.                             oSound.didFinish = true;
  776.                             ExternalInterface.call((((baseJSObject + "['") + sID) + "']._onfinish"));
  777.                         } catch(e:Error) {
  778.                         };
  779.                         oSound.ignoreDataError = false;
  780.                         oSound.handledDataError = false;
  781.                     } else {
  782.                         ExternalInterface.call((((baseJSObject + "['") + sID) + "']._onfinish"));
  783.                     };
  784.                 });
  785.             };
  786.         }
  787.         public function doSecurityError(_arg1:SoundManager2_SMSound_AS3, _arg2:SecurityErrorEvent):void{
  788.         }
  789.         public function _setPosition(_arg1:String, _arg2:Number, _arg3:Boolean, _arg4:Boolean):void{
  790.             var _local5:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
  791.             if (!_local5){
  792.                 return;
  793.             };
  794.             if (_local5.lastValues){
  795.                 _local5.lastValues.position = _arg2;
  796.             };
  797.             if (_local5.useNetstream){
  798.                 _local5.ns.bufferTime = _local5.bufferTime;
  799.                 _arg2 = (((_arg2 > 0)) ? (_arg2 / 1000) : 0);
  800.                 _local5.ns.seek(_arg2);
  801.                 this.checkSoundProgress(_local5);
  802.             } else {
  803.                 if (_local5.soundChannel){
  804.                     _local5.soundChannel.stop();
  805.                 };
  806.                 if ((((_local5.lastValues.loops > 1)) && (!((_arg2 == 0))))){
  807.                     _local5.lastValues.loops = 1;
  808.                 };
  809.                 try {
  810.                     _local5.start(_arg2, ((_local5.lastValues.loops) || (1)), _arg4);
  811.                 } catch(e:Error) {
  812.                 };
  813.                 this.checkSoundProgress(_local5);
  814.                 try {
  815.                     this.registerOnComplete(_arg1);
  816.                 } catch(e:Error) {
  817.                 };
  818.                 if (((_arg3) && (_local5.soundChannel))){
  819.                     _local5.soundChannel.stop();
  820.                 };
  821.             };
  822.         }
  823.         public function _load(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:Boolean, _arg5:Number, _arg6:Boolean, _arg7:Boolean):void{
  824.             var s:* = null;
  825.             var ns:* = null;
  826.             var sID:* = _arg1;
  827.             var sURL:* = _arg2;
  828.             var bStream:* = _arg3;
  829.             var bAutoPlay:* = _arg4;
  830.             var nLoops:* = _arg5;
  831.             var bAutoLoad:* = _arg6;
  832.             var bCheckPolicyFile:* = _arg7;
  833.             if ("boolean" == "undefined"){
  834.                 bAutoPlay = false;
  835.             };
  836.             s = this.soundObjects[sID];
  837.             if (!s){
  838.                 return;
  839.             };
  840.             var didRecreate:* = false;
  841.             if (s.didLoad == true){
  842.                 didRecreate = true;
  843.                 ns = new Object();
  844.                 ns.sID = s.sID;
  845.                 ns.loops = ((nLoops) || (1));
  846.                 ns.usePeakData = s.usePeakData;
  847.                 ns.useWaveformData = s.useWaveformData;
  848.                 ns.useEQData = s.useEQData;
  849.                 ns.useNetstream = s.useNetstream;
  850.                 ns.bufferTime = s.bufferTime;
  851.                 ns.serverUrl = s.serverUrl;
  852.                 ns.duration = s.duration;
  853.                 ns.checkPolicyFile = s.checkPolicyFile;
  854.                 ns.useEvents = true;
  855.                 this._destroySound(s.sID);
  856.                 this._createSound(ns.sID, sURL, ns.usePeakData, ns.useWaveformData, ns.useEQData, ns.useNetstream, ns.bufferTime, ns.loops, ns.serverUrl, ns.duration, bAutoPlay, ns.useEvents, bAutoLoad, ns.checkPolicyFile);
  857.                 s = this.soundObjects[sID];
  858.             };
  859.             this.checkSoundProgress(s);
  860.             if (!s.didLoad){
  861.                 try {
  862.                     s.addEventListener(Event.ID3, this.onID3);
  863.                     s.addEventListener(Event.COMPLETE, this.onLoad);
  864.                 } catch(e:Error) {
  865.                 };
  866.             };
  867.             s.sURL = sURL;
  868.             try {
  869.                 if (!s.useNetstream){
  870.                     s.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
  871.                         s.doIOError(_arg1);
  872.                     });
  873.                 };
  874.                 s.loadSound(sURL);
  875.             } catch(e:Error) {
  876.             };
  877.         }
  878.         public function _unload(_arg1:String):void{
  879.             var _local2:SoundManager2_SMSound_AS3 = ((this.soundObjects[_arg1]) || (null));
  880.             if (!_local2){
  881.                 return;
  882.             };
  883.             var _local3:String = _local2.sURL;
  884.             try {
  885.                 REMoveEventListener(Event.ID3, this.onID3);
  886.                 REMoveEventListener(Event.COMPLETE, this.onLoad);
  887.             } catch(e:Error) {
  888.             };
  889.             _local2.paused = false;
  890.             if (_local2.soundChannel){
  891.                 _local2.soundChannel.stop();
  892.             };
  893.             try {
  894.                 if (((((_local2.didLoad) && (!(_local2.loaded)))) && (!(_local2.useNetstream)))){
  895.                     _local2.close();
  896.                 };
  897.             } catch(e:Error) {
  898.             };
  899.             if (_local2.useNetstream){
  900.                 try {
  901.                     _local2.REMoveNetstreamEvents();
  902.                     _local2.ns.close();
  903.                     _local2.nc.close();
  904.                 } catch(e:Error) {
  905.                 };
  906.             };
  907.             var _local4:Object = new Object();
  908.             _local4.sID = _local2.sID;
  909.             _local4.loops = _local2.loops;
  910.             _local4.usePeakData = _local2.usePeakData;
  911.             _local4.useWaveformData = _local2.useWaveformData;
  912.             _local4.useEQData = _local2.useEQData;
  913.             _local4.useNetstream = _local2.useNetstream;
  914.             _local4.bufferTime = _local2.bufferTime;
  915.             _local4.serverUrl = _local2.serverUrl;
  916.             _local4.duration = _local2.duration;
  917.             _local4.autoPlay = _local2.autoPlay;
  918.             _local4.autoLoad = _local2.autoLoad;
  919.             _local4.checkPolicyFile = _local2.checkPolicyFile;
  920.             this._destroySound(_local2.sID);
  921.             this._createSound(_local4.sID, _local3, _local4.usePeakData, _local4.useWaveformData, _local4.useEQData, _local4.useNetstream, _local4.bufferTime, _local4.loops, _local4.serverUrl, _local4.duration, _local4.autoPlay, false, _local4.autoLoad, _local4.checkPolicyFile);
  922.             this.soundObjects[_arg1].connected = true;
  923.         }
  924.         public function _createSound(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean, _arg6:Boolean, _arg7:Number, _arg8:Number, _arg9:String, _arg10:Number, _arg11:Boolean, _arg12:Boolean, _arg13:Boolean, _arg14:Boolean):void{
  925.             var _local15:SoundManager2_SMSound_AS3 = new SoundManager2_SMSound_AS3(this, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg9, _arg10, _arg11, _arg12, _arg13, _arg14);
  926.             if (!this.soundObjects[_arg1]){
  927.                 this.sounds.push(_arg1);
  928.             };
  929.             this.soundObjects[_arg1] = _local15;
  930.             this.currentObject = _local15;
  931.             _local15.sID = _arg1;
  932.             _local15.sURL = _arg2;
  933.             _local15.paused = false;
  934.             _local15.loaded = false;
  935.             _local15.checkPolicyFile = _arg14;
  936.             _local15.lastValues = {
  937.                 bytes:0,
  938.                 duration:0,
  939.                 position:0,
  940.                 loops:((_arg8) || (1)),
  941.                 leftPeak:0,
  942.                 rightPeak:0,
  943.                 bufferLength:0
  944.             };
  945.         }
  946.         public function _destroySound(_arg1:String):void{
  947.             var _local2:SoundManager2_SMSound_AS3 = ((this.soundObjects[_arg1]) || (null));
  948.             if (!_local2){
  949.                 return;
  950.             };
  951.             var _local3:int;
  952.             var _local4:int = this.sounds.length;
  953.             while (_local3 < _local4) {
  954.                 if (this.sounds[_local3] == _arg1){
  955.                     this.sounds.splice(_local3, 1);
  956.                     break;
  957.                 };
  958.                 _local3++;
  959.             };
  960.             if (_local2.soundChannel){
  961.                 _local2.soundChannel.stop();
  962.             };
  963.             if (_local2.useNetstream){
  964.                 try {
  965.                     _local2.REMoveNetstreamEvents();
  966.                 } catch(e:Error) {
  967.                 };
  968.                 if (_local2.didLoad){
  969.                     try {
  970.                         _local2.ns.close();
  971.                         _local2.nc.close();
  972.                     } catch(e:Error) {
  973.                     };
  974.                 };
  975.             } else {
  976.                 if (_local2.didLoad){
  977.                     try {
  978.                         _local2.close();
  979.                     } catch(e:Error) {
  980.                     };
  981.                 };
  982.             };
  983.             _local2 = null;
  984.             this.soundObjects[_arg1] = null;
  985.             delete this.soundObjects[_arg1];
  986.         }
  987.         public function _stop(_arg1:String, _arg2:Boolean):void{
  988.             var _local3:SoundManager2_SMSound_AS3;
  989.             if (_arg2){
  990.                 SoundMixer.stopAll();
  991.             } else {
  992.                 _local3 = this.soundObjects[_arg1];
  993.                 if (!_local3){
  994.                     return;
  995.                 };
  996.                 if (((_local3.useNetstream) && (_local3.ns))){
  997.                     _local3.ns.pause();
  998.                 } else {
  999.                     if (_local3.soundChannel){
  1000.                         _local3.soundChannel.stop();
  1001.                     };
  1002.                 };
  1003.                 _local3.paused = false;
  1004.             };
  1005.         }
  1006.         public function _start(_arg1:String, _arg2:int, _arg3:int, _arg4:Boolean):Boolean{
  1007.             var _local6:Boolean;
  1008.             var _local5:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
  1009.             if (!_local5){
  1010.                 return (true);
  1011.             };
  1012.             _local5.lastValues.paused = false;
  1013.             _local5.lastValues.loops = ((_arg2) || (1));
  1014.             if (!_local5.useNetstream){
  1015.                 _local5.lastValues.position = _arg3;
  1016.             };
  1017.             _local5.handledDataError = false;
  1018.             try {
  1019.                 _local6 = _local5.start(_arg3, _arg2, _arg4);
  1020.             } catch(e:Error) {
  1021.             };
  1022.             try {
  1023.                 this.registerOnComplete(_arg1);
  1024.             } catch(e:Error) {
  1025.             };
  1026.             return (_local6);
  1027.         }
  1028.         public function _pause(_arg1:String, _arg2:Boolean):void{
  1029.             var _local3:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
  1030.             if (!_local3){
  1031.                 return;
  1032.             };
  1033.             if (!_local3.paused){
  1034.                 _local3.paused = true;
  1035.                 if (_local3.useNetstream){
  1036.                     if (_local3.ns){
  1037.                         _local3.lastValues.position = (_local3.ns.time * 1000);
  1038.                         _local3.ns.pause();
  1039.                     } else {
  1040.                         if (_local3.autoPlay){
  1041.                             _local3.setAutoPlay(false);
  1042.                         };
  1043.                     };
  1044.                 } else {
  1045.                     if (_local3.soundChannel){
  1046.                         _local3.lastValues.position = _local3.soundChannel.position;
  1047.                         _local3.soundChannel.stop();
  1048.                     };
  1049.                 };
  1050.             } else {
  1051.                 _local3.paused = false;
  1052.                 if (_local3.useNetstream){
  1053.                     _local3.ns.resume();
  1054.                 } else {
  1055.                     _local3.start(_local3.lastValues.position, _local3.lastValues.loops, _arg2);
  1056.                 };
  1057.                 try {
  1058.                     this.registerOnComplete(_arg1);
  1059.                 } catch(e:Error) {
  1060.                 };
  1061.             };
  1062.         }
  1063.         public function _setPan(_arg1:String, _arg2:Number):void{
  1064.             if (this.soundObjects[_arg1]){
  1065.                 this.soundObjects[_arg1].setPan(_arg2);
  1066.             };
  1067.         }
  1068.         public function _setVolume(_arg1:String, _arg2:Number):void{
  1069.             if (this.soundObjects[_arg1]){
  1070.                 this.soundObjects[_arg1].setVolume(_arg2);
  1071.             };
  1072.         }
  1073.         public function _setPolling(_arg1:Boolean=false, _arg2:uint=50):void{
  1074.             var bPolling:Boolean = _arg1;
  1075.             var nTimerInterval:int = _arg2;
  1076.             this.pollingEnabled = bPolling;
  1077.             if ((((this.timer == null)) && (this.pollingEnabled))){
  1078.                 this.timer = new Timer(nTimerInterval, 0);
  1079.                 this.timer.addEventListener(TimerEvent.TIMER, function ():void{
  1080.                     checkProgress();
  1081.                 });
  1082.                 this.timer.start();
  1083.             } else {
  1084.                 if (((this.timer) && (!(this.pollingEnabled)))){
  1085.                     this.timer.reset();
  1086.                 };
  1087.             };
  1088.         }
  1089.         public function _getMemoryUse():String{
  1090.             return (System.totalMemory.toString());
  1091.         }
  1092.  
  1093.     }
  1094. }//package
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement