Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.events.*;
- import flash.utils.*;
- import flash.media.*;
- import flash.net.*;
- import flash.external.*;
- public class SoundManager2_SMSound_AS3 extends Sound {
- public var sm:SoundManager2_AS3 = null;
- public var baseJSController:String = "soundManager";
- public var baseJSObject:String;
- public var soundChannel:SoundChannel;
- public var urlRequest:URLRequest;
- public var soundLoaderContext:SoundLoaderContext;
- public var waveformData:ByteArray;
- public var waveformDataArray:Array;
- public var eqData:ByteArray;
- public var eqDataArray:Array;
- public var usePeakData:Boolean = false;
- public var useWaveformData:Boolean = false;
- public var useEQData:Boolean = false;
- public var sID:String;
- public var sURL:String;
- public var didFinish:Boolean;
- public var loaded:Boolean;
- public var connected:Boolean;
- public var failed:Boolean;
- public var paused:Boolean;
- public var finished:Boolean;
- public var duration:Number;
- public var handledDataError:Boolean = false;
- public var ignoreDataError:Boolean = false;
- public var autoPlay:Boolean = false;
- public var autoLoad:Boolean = false;
- public var pauseOnBufferFull:Boolean = false;
- public var loops:Number = 1;
- public var lastValues:Object;
- public var didLoad:Boolean = false;
- public var useEvents:Boolean = false;
- public var sound:Sound;
- public var cc:Object;
- public var nc:NetConnection;
- public var ns:NetStream = null;
- public var st:SoundTransform;
- public var useNetstream:Boolean;
- public var bufferTime:Number = 3;
- public var lastNetStatus:String = null;
- public var serverUrl:String = null;
- public var checkPolicyFile:Boolean = false;
- 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){
- this.baseJSObject = (this.baseJSController + ".sounds");
- this.soundChannel = new SoundChannel();
- this.waveformData = new ByteArray();
- this.waveformDataArray = [];
- this.eqData = new ByteArray();
- this.eqDataArray = [];
- this.lastValues = {
- bytes:0,
- position:0,
- duration:0,
- volume:100,
- pan:0,
- loops:1,
- leftPeak:0,
- rightPeak:0,
- waveformDataArray:null,
- eqDataArray:null,
- isBuffering:null,
- bufferLength:0
- };
- this.sound = new Sound();
- super();
- this.sm = _arg1;
- this.sID = _arg2;
- this.sURL = _arg3;
- this.usePeakData = _arg4;
- this.useWaveformData = _arg5;
- this.useEQData = _arg6;
- this.urlRequest = new URLRequest(_arg3);
- this.didFinish = false;
- this.loaded = false;
- this.connected = false;
- this.failed = false;
- this.finished = false;
- this.soundChannel = null;
- this.lastNetStatus = null;
- this.useNetstream = _arg7;
- this.serverUrl = _arg9;
- this.duration = _arg10;
- this.useEvents = _arg12;
- this.autoLoad = _arg13;
- if (_arg8){
- this.bufferTime = _arg8;
- };
- this.checkPolicyFile = _arg14;
- if (this.useNetstream){
- if (((this.serverUrl) && (this.autoLoad))){
- this.pauseOnBufferFull = true;
- };
- this.cc = new Object();
- this.nc = new NetConnection();
- this.nc.client = this;
- this.nc.addEventListener(NetStatusEvent.NET_STATUS, this.netStatusHandler);
- if (this.serverUrl != null){
- };
- this.nc.connect(_arg9);
- } else {
- this.connected = true;
- };
- }
- public function netStatusHandler(_arg1:NetStatusEvent):void{
- var event:* = _arg1;
- if (this.useEvents){
- };
- switch (event.info.code){
- case "NetConnection.Connect.Success":
- try {
- this.ns = new NetStream(this.nc);
- this.ns.checkPolicyFile = this.checkPolicyFile;
- this.ns.bufferTime = this.bufferTime;
- this.st = new SoundTransform();
- this.cc.onMetaData = this.metaDataHandler;
- this.cc.setCaption = this.captionHandler;
- this.ns.client = this.cc;
- this.ns.receiveAudio(true);
- this.addNetstreamEvents();
- this.connected = true;
- if (((this.serverUrl) && (this.useEvents))){
- ExternalInterface.call((((this.sm.baseJSObject + "['") + this.sID) + "']._onconnect"), 1);
- };
- } catch(e:Error) {
- this.failed = true;
- ExternalInterface.call((((baseJSObject + "['") + this.sID) + "']._onfailure"), "Connection failed!", event.info.level, event.info.code);
- };
- break;
- case "NetStream.Play.StreamNotFound":
- this.failed = true;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "Stream not found!", event.info.level, event.info.code);
- break;
- case "NetConnection.Connect.Closed":
- this.failed = true;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "Connection closed!", event.info.level, event.info.code);
- break;
- case "NetConnection.Connect.Failed":
- this.failed = true;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "Connection failed!", event.info.level, event.info.code);
- break;
- default:
- this.failed = true;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "", event.info.level, event.info.code);
- };
- }
- public function writeDebug(_arg1:String, _arg2:Number=0):Boolean{
- return (this.sm.writeDebug(_arg1, _arg2));
- }
- public function metaDataHandler(_arg1:Object):void{
- var prop:* = null;
- var data:* = null;
- var infoObject:* = _arg1;
- if (this.sm.debugEnabled){
- data = new String();
- for (prop in infoObject) {
- data = (data + (((prop + ": ") + infoObject[prop]) + " \n"));
- };
- };
- this.duration = (infoObject.duration * 1000);
- if (!this.loaded){
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._whileloading"), this.bytesLoaded, this.bytesTotal, ((this.duration) || (infoObject.duration)));
- };
- var metaData:* = [];
- var metaDataProps:* = [];
- for (prop in infoObject) {
- metaData.push(prop);
- metaDataProps.push(infoObject[prop]);
- };
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onmetadata"), metaData, metaDataProps);
- if (!this.serverUrl){
- this.cc.onMetaData = function (_arg1:Object):void{
- };
- };
- }
- public function captionHandler(_arg1:Object):void{
- var _local2:String;
- var _local3:*;
- if (this.sm.debugEnabled){
- _local2 = new String();
- for (_local3 in _arg1) {
- _local2 = (_local2 + (((_local3 + ": ") + _arg1[_local3]) + " \n"));
- };
- };
- ExternalInterface.call((((this.sm.baseJSObject + "['") + this.sID) + "']._oncaptiondata"), _arg1["dynamicMetadata"]);
- }
- public function getWaveformData():void{
- SoundMixer.computeSpectrum(this.waveformData, false, 0);
- this.waveformDataArray = [];
- var _local1:int;
- var _local2:int = (this.waveformData.length / 4);
- while (_local1 < _local2) {
- this.waveformDataArray.push((int((this.waveformData.readFloat() * 1000)) / 1000));
- _local1++;
- };
- }
- public function getEQData():void{
- SoundMixer.computeSpectrum(this.eqData, true, 0);
- this.eqDataArray = [];
- var _local1:int;
- var _local2:int = (this.eqData.length / 4);
- while (_local1 < _local2) {
- this.eqDataArray.push((int((this.eqData.readFloat() * 1000)) / 1000));
- _local1++;
- };
- }
- public function start(_arg1:int, _arg2:int, _arg3:Boolean):Boolean{
- var _local4:Boolean;
- this.useEvents = true;
- if (this.useNetstream){
- this.finished = false;
- this.cc.onMetaData = this.metaDataHandler;
- _local4 = ((!((this.lastValues.position == null))) && (!((this.lastValues.position == _arg1))));
- if (_local4){
- this.ns.bufferTime = this.bufferTime;
- };
- if (this.paused){
- this.ns.resume();
- if (!this.didLoad){
- this.didLoad = true;
- };
- this.paused = false;
- } else {
- if (!this.didLoad){
- this.ns.play(this.sURL);
- this.pauseOnBufferFull = false;
- this.didLoad = true;
- this.paused = false;
- } else {
- this.pauseOnBufferFull = false;
- this.ns.play(this.sURL);
- };
- };
- if (_local4){
- this.ns.seek(((this.serverUrl) ? (_arg1 / 1000) : _arg1));
- this.lastValues.position = _arg1;
- };
- this.applyTransform();
- } else {
- if (((!(this.soundChannel)) || (_arg3))){
- this.soundChannel = this.play(_arg1, _arg2);
- this.addEventListener(Event.SOUND_COMPLETE, this._onfinish);
- this.applyTransform();
- } else {
- if (this.soundChannel){
- this.soundChannel.stop();
- };
- this.soundChannel = this.play(_arg1, _arg2);
- this.addEventListener(Event.SOUND_COMPLETE, this._onfinish);
- this.applyTransform();
- };
- };
- return (((((!(this.useNetstream)) && ((this.soundChannel === null)))) ? false : true));
- }
- private function _onfinish():void{
- this.REMoveEventListener(Event.SOUND_COMPLETE, this._onfinish);
- }
- public function loadSound(_arg1:String):void{
- if (this.useNetstream){
- this.useEvents = true;
- if (this.didLoad != true){
- this.ns.play(this.sURL);
- if (!this.autoPlay){
- this.pauseOnBufferFull = true;
- };
- this.paused = false;
- };
- this.applyTransform();
- } else {
- try {
- this.didLoad = true;
- this.urlRequest = new URLRequest(_arg1);
- this.soundLoaderContext = new SoundLoaderContext(1000, this.checkPolicyFile);
- this.load(this.urlRequest, this.soundLoaderContext);
- } catch(e:Error) {
- };
- };
- }
- public function setAutoPlay(_arg1:Boolean):void{
- if (!this.serverUrl){
- this.autoPlay = _arg1;
- } else {
- this.autoPlay = _arg1;
- if (this.autoPlay){
- this.pauseOnBufferFull = false;
- } else {
- if (!this.autoPlay){
- this.pauseOnBufferFull = true;
- };
- };
- };
- }
- public function setVolume(_arg1:Number):void{
- this.lastValues.volume = (_arg1 / 100);
- this.applyTransform();
- }
- public function setPan(_arg1:Number):void{
- this.lastValues.pan = (_arg1 / 100);
- this.applyTransform();
- }
- public function applyTransform():void{
- var _local1:SoundTransform = new SoundTransform(this.lastValues.volume, this.lastValues.pan);
- if (this.useNetstream){
- if (this.ns){
- this.ns.soundTransform = _local1;
- };
- } else {
- if (this.soundChannel){
- this.soundChannel.soundTransform = _local1;
- };
- };
- }
- public function onBWDone():void{
- }
- public function onPlayStatus(_arg1:Object):void{
- switch (_arg1.code){
- case "NetStream.Play.Complete":
- break;
- };
- }
- public function doIOError(_arg1:IOErrorEvent):void{
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onload"), 0);
- }
- public function doAsyncError(_arg1:AsyncErrorEvent):void{
- }
- public function doNetStatus(_arg1:NetStatusEvent):void{
- var _local2:Boolean;
- if ((((((_arg1.info.code == "NetStream.Failed")) || ((_arg1.info.code == "NetStream.Play.FileStructureInvalid")))) || ((_arg1.info.code == "NetStream.Play.StreamNotFound")))){
- this.lastNetStatus = _arg1.info.code;
- this.failed = true;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfailure"), "", _arg1.info.level, _arg1.info.code);
- return;
- };
- if (_arg1.info.code == "NetStream.Play.Stop"){
- if (((!(this.finished)) && (((!(this.useNetstream)) || (!(this.serverUrl)))))){
- this.sm.checkProgress();
- this.finished = true;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfinish"));
- };
- } else {
- if ((((((_arg1.info.code == "NetStream.Play.Start")) || ((_arg1.info.code == "NetStream.Buffer.Empty")))) || ((_arg1.info.code == "NetStream.Buffer.Full")))){
- if (((((this.serverUrl) && ((_arg1.info.code == "NetStream.Buffer.Full")))) && (this.pauseOnBufferFull))){
- this.ns.pause();
- this.paused = true;
- this.pauseOnBufferFull = false;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "'].pause"), false);
- };
- _local2 = (((_arg1.info.code == "NetStream.Buffer.Empty")) || ((_arg1.info.code == "NetStream.Play.Start")));
- if (_local2 != this.lastValues.isBuffering){
- this.lastValues.isBuffering = _local2;
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onbufferchange"), ((this.lastValues.isBuffering) ? 1 : 0));
- };
- if ((((_arg1.info.code == "NetStream.Buffer.Empty")) && ((((this.lastNetStatus == "NetStream.Play.Stop")) || ((this.lastNetStatus == "NetStream.Buffer.Flush")))))){
- if (((this.duration) && (((this.ns.time * 1000) < (this.duration - 3000))))){
- } else {
- if (!this.finished){
- this.finished = true;
- this.sm.checkProgress();
- ExternalInterface.call((((this.baseJSObject + "['") + this.sID) + "']._onfinish"));
- };
- };
- } else {
- if (_arg1.info.code == "NetStream.Buffer.Empty"){
- this.ns.bufferTime = this.bufferTime;
- };
- };
- };
- };
- this.lastNetStatus = _arg1.info.code;
- }
- public function addNetstreamEvents():void{
- this.ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, this.doAsyncError);
- this.ns.addEventListener(NetStatusEvent.NET_STATUS, this.doNetStatus);
- this.ns.addEventListener(IOErrorEvent.IO_ERROR, this.doIOError);
- }
- public function REMoveNetstreamEvents():void{
- this.ns.removeEventListener(AsyncErrorEvent.ASYNC_ERROR, this.doAsyncError);
- this.ns.REMoveEventListener(NetStatusEvent.NET_STATUS, this.doNetStatus);
- this.ns.addEventListener(NetStatusEvent.NET_STATUS, this.dummyNetStatusHandler);
- this.ns.REMoveEventListener(IOErrorEvent.IO_ERROR, this.doIOError);
- this.nc.REMoveEventListener(NetStatusEvent.NET_STATUS, this.netStatusHandler);
- }
- public function dummyNetStatusHandler(_arg1:NetStatusEvent):void{
- }
- }
- }//package
- package {
- import flash.events.*;
- import flash.display.*;
- import flash.utils.*;
- import flash.text.*;
- import flash.media.*;
- import flash.system.*;
- import flash.ui.*;
- import flash.external.*;
- public class SoundManager2_AS3 extends Sprite {
- public var version:String = "V2.97a.20130512";
- public var version_as:String = "(AS3/Flash 9)";
- public var allow_xdomain_scripting:Boolean = false;
- public var xdomain:String = "*";
- public var baseJSController:String = "soundManager";
- public var baseJSObject:String;
- public var sounds:Array;
- public var soundObjects:Dictionary;
- public var timer:Timer = null;
- public var pollingEnabled:Boolean = false;
- public var debugEnabled:Boolean = false;
- public var flashDebugEnabled:Boolean = false;
- public var loaded:Boolean = false;
- public var currentObject:SoundManager2_SMSound_AS3 = null;
- public var paramList:Object = null;
- public var messages:Array;
- public var textField:TextField = null;
- public var textStyle:TextFormat;
- public var didSandboxMessage:Boolean = false;
- public var caughtFatal:Boolean = false;
- public function SoundManager2_AS3(){
- var timer:* = null;
- this.baseJSObject = (this.baseJSController + ".sounds");
- this.sounds = [];
- this.soundObjects = new Dictionary();
- this.messages = [];
- this.textStyle = new TextFormat();
- super();
- if (((this.allow_xdomain_scripting) && (this.xdomain))){
- Security.allowDomain(this.xdomain);
- this.version_as = (this.version_as + " - cross-domain enabled");
- };
- this.paramList = this.root.loaderInfo.parameters;
- var sm2Menu:* = new ContextMenu();
- var sm2MenuItem:* = new ContextMenuItem(((("SoundManager " + this.version) + " ") + this.version_as));
- sm2MenuItem.enabled = false;
- sm2Menu.customItems.push(sm2MenuItem);
- contextMenu = sm2Menu;
- if (ExternalInterface.available){
- try {
- ExternalInterface.addCallback("_load", this._load);
- ExternalInterface.addCallback("_unload", this._unload);
- ExternalInterface.addCallback("_stop", this._stop);
- ExternalInterface.addCallback("_start", this._start);
- ExternalInterface.addCallback("_pause", this._pause);
- ExternalInterface.addCallback("_setPosition", this._setPosition);
- ExternalInterface.addCallback("_setPan", this._setPan);
- ExternalInterface.addCallback("_setVolume", this._setVolume);
- ExternalInterface.addCallback("_setPolling", this._setPolling);
- ExternalInterface.addCallback("_externalInterfaceTest", this._externalInterfaceTest);
- ExternalInterface.addCallback("_disableDebug", this._disableDebug);
- ExternalInterface.addCallback("_getMemoryUse", this._getMemoryUse);
- ExternalInterface.addCallback("_createSound", this._createSound);
- ExternalInterface.addCallback("_destroySound", this._destroySound);
- ExternalInterface.addCallback("_setAutoPlay", this._setAutoPlay);
- } catch(e:Error) {
- };
- };
- timer = new Timer(20, 0);
- timer.addEventListener(TimerEvent.TIMER, function ():void{
- timer.reset();
- _externalInterfaceTest(true);
- });
- timer.start();
- }
- public function flashDebug(_arg1:String):void{
- }
- public function _setAutoPlay(_arg1:String, _arg2:Boolean):void{
- var _local3:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
- if (_local3){
- _local3.setAutoPlay(_arg2);
- };
- }
- public function writeDebug(_arg1:String, _arg2:Number=0):Boolean{
- if (!this.debugEnabled){
- return (false);
- };
- return (true);
- }
- public function _externalInterfaceTest(_arg1:Boolean):Boolean{
- var isFirstCall:* = _arg1;
- var sandboxType:* = Security["sandboxType"];
- if (((((!(this.didSandboxMessage)) && (!((sandboxType == "localTrusted"))))) && (!((sandboxType == "remote"))))){
- this.didSandboxMessage = true;
- };
- try {
- if (isFirstCall == true){
- ExternalInterface.call((this.baseJSController + "._externalInterfaceOK"), this.version);
- } else {
- ExternalInterface.call((this.baseJSController + "._setSandboxType"), sandboxType);
- };
- } catch(e:Error) {
- if (!caughtFatal){
- caughtFatal = true;
- };
- return (false);
- };
- return (true);
- }
- public function _disableDebug():void{
- this.debugEnabled = false;
- }
- public function checkLoadProgress(_arg1:Event):void{
- var _local2:Object;
- var _local3:int;
- var _local4:int;
- var _local5:int;
- var _local6:String;
- try {
- _local2 = _arg1.target;
- _local3 = _local2.bytesLoaded;
- _local4 = _local2.bytesTotal;
- _local5 = ((((_local2.length) || (_local2.duration))) || (0));
- _local6 = (((this.baseJSObject + "['") + _local2.sID) + "']._whileloading");
- ExternalInterface.call(_local6, _local3, _local4, _local5);
- if (((((_local3) && (_local4))) && (!((_local3 == _local2.lastValues.bytes))))){
- _local2.lastValues.bytes = _local3;
- ExternalInterface.call(_local6, _local3, _local4, _local5);
- };
- } catch(e:Error) {
- };
- }
- public function checkSoundProgress(_arg1:SoundManager2_SMSound_AS3, _arg2:Boolean=false, _arg3:Boolean=false):void{
- var dataError:* = null;
- var playedLoops:* = NaN;
- var waveDataLeft:* = null;
- var waveDataRight:* = null;
- var eqDataLeft:* = null;
- var eqDataRight:* = null;
- var oSound:* = _arg1;
- var forceCheck:Boolean = _arg2;
- var forceEndCheck:Boolean = _arg3;
- var bL:* = 0;
- var bT:* = 0;
- var nD:* = 0;
- var nP:* = 0;
- var bufferLength:* = 0;
- var lP:* = 0;
- var rP:* = 0;
- var isBuffering:* = null;
- var oSoundChannel:* = null;
- var sMethod:* = null;
- var newPeakData:* = false;
- var newWaveformData:* = false;
- var newEQData:* = false;
- var areSoundsInaccessible:* = SoundMixer.areSoundsInaccessible();
- var isPlaying:* = true;
- var hasNew:* = false;
- var hasNewLoaded:* = false;
- if (((((((!(oSound)) || (!(oSound.useEvents)))) || (oSound.failed))) || (!(oSound.connected)))){
- return;
- };
- sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._whileloading");
- if (oSound.useNetstream){
- if (!oSound.ns){
- return;
- };
- bufferLength = oSound.ns.bufferLength;
- bL = oSound.ns.bytesLoaded;
- bT = oSound.ns.bytesTotal;
- nD = int(((oSound.duration) || (0)));
- nP = (oSound.ns.time * 1000);
- if (oSound.paused){
- nP = oSound.lastValues.position;
- };
- if ((((nP >= 0)) && (!((nP == oSound.lastValues.position))))){
- oSound.lastValues.position = nP;
- hasNew = true;
- };
- if (nD > oSound.lastValues.duration){
- oSound.lastValues.duration = nD;
- hasNew = true;
- };
- if (bL > oSound.lastValues.bytesLoaded){
- oSound.lastValues.bytesLoaded = bL;
- hasNew = true;
- };
- if (bT > oSound.lastValues.bytes){
- oSound.lastValues.bytes = bT;
- hasNew = true;
- };
- if (bufferLength != oSound.lastValues.bufferLength){
- oSound.lastValues.bufferLength = bufferLength;
- hasNew = true;
- };
- if (((((((((!((oSound.loaded == true))) && ((nD > 0)))) && ((bL == bT)))) && (!((bL == 0))))) && (!((bT == 0))))){
- oSound.loaded = true;
- try {
- ExternalInterface.call(sMethod, bL, bT, nD, bufferLength);
- ExternalInterface.call((((this.baseJSObject + "['") + oSound.sID) + "']._onload"), (((oSound.duration > 0)) ? 1 : 0));
- } catch(e:Error) {
- };
- } else {
- if (((!((oSound.loaded == true))) && (hasNew))){
- ExternalInterface.call(sMethod, bL, bT, nD, bufferLength);
- };
- };
- } else {
- oSoundChannel = oSound.soundChannel;
- bL = oSound.bytesLoaded;
- bT = oSound.bytesTotal;
- nD = int(((oSound.length) || (0)));
- isBuffering = oSound.isBuffering;
- if (oSoundChannel){
- nP = ((oSoundChannel.position) || (0));
- if ((((oSound.lastValues.loops > 1)) && ((nP > oSound.length)))){
- playedLoops = Math.floor((nP / oSound.length));
- nP = (nP - (oSound.length * playedLoops));
- };
- if (oSound.usePeakData){
- lP = (int((oSoundChannel.leftPeak * 1000)) / 1000);
- rP = (int((oSoundChannel.rightPeak * 1000)) / 1000);
- } else {
- lP = 0;
- rP = 0;
- };
- } else {
- nP = 0;
- };
- if (forceEndCheck){
- if (nP < nD){
- nP = nD;
- };
- };
- if (((((!((nP == oSound.lastValues.position))) && (!((nP === 0))))) && (!(oSound.didFinish)))){
- oSound.lastValues.position = nP;
- hasNew = true;
- };
- if (nD > oSound.lastValues.duration){
- oSound.lastValues.duration = nD;
- hasNew = true;
- };
- if (bL > oSound.lastValues.bytesLoaded){
- oSound.lastValues.bytesLoaded = bL;
- hasNew = true;
- };
- if (bT > oSound.lastValues.bytes){
- oSound.lastValues.bytes = bT;
- hasNew = true;
- hasNewLoaded = true;
- };
- if (hasNewLoaded){
- oSound.lastValues.bytes = bL;
- ExternalInterface.call(sMethod, bL, bT, nD);
- };
- };
- if (((oSoundChannel) && (oSound.usePeakData))){
- if (lP != oSound.lastValues.leftPeak){
- oSound.lastValues.leftPeak = lP;
- newPeakData = true;
- };
- if (rP != oSound.lastValues.rightPeak){
- oSound.lastValues.rightPeak = rP;
- newPeakData = true;
- };
- };
- var newDataError:* = false;
- isPlaying = ((((oSound.didLoad) && (!(oSound.paused)))) && (((!(oSound.useNetstream)) || (((oSound.useNetstream) && (!((oSound.lastNetStatus == "NetStream.Play.Stop"))))))));
- if (((isPlaying) && (((oSoundChannel) || (oSound.useNetstream))))){
- if (oSound.useWaveformData){
- if (((((!(areSoundsInaccessible)) && (!(oSound.handledDataError)))) && (!(oSound.ignoreDataError)))){
- try {
- oSound.getWaveformData();
- } catch(e:Error) {
- if (!oSound.handledDataError){
- };
- newDataError = true;
- dataError = e.toString();
- };
- };
- };
- if (oSound.useEQData){
- if (((((!(areSoundsInaccessible)) && (!(oSound.handledDataError)))) && (!(oSound.ignoreDataError)))){
- try {
- oSound.getEQData();
- } catch(e:Error) {
- if (!oSound.handledDataError){
- };
- newDataError = true;
- dataError = e.toString();
- };
- };
- };
- if (oSound.waveformDataArray != oSound.lastValues.waveformDataArray){
- oSound.lastValues.waveformDataArray = oSound.waveformDataArray;
- newWaveformData = true;
- };
- if (oSound.eqDataArray != oSound.lastValues.eqDataArray){
- oSound.lastValues.eqDataArray = oSound.eqDataArray;
- newEQData = true;
- };
- if (((newDataError) && (!(oSound.handledDataError)))){
- sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._ondataerror");
- ExternalInterface.call(sMethod, ("data unavailable: " + dataError));
- oSound.handledDataError = true;
- };
- };
- if (((!(("number" == "undefined"))) && (((hasNew) && (((((((oSound.soundChannel) || (oSound.useNetstream))) || (forceCheck))) || (forceEndCheck))))))){
- sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._whileplaying");
- waveDataLeft = ((newWaveformData) ? oSound.waveformDataArray.slice(0, 0x0100).join(",") : null);
- waveDataRight = ((newWaveformData) ? oSound.waveformDataArray.slice(0x0100).join(",") : null);
- eqDataLeft = ((newEQData) ? oSound.eqDataArray.slice(0, 0x0100).join(",") : null);
- eqDataRight = ((newEQData) ? oSound.eqDataArray.slice(0x0100).join(",") : null);
- ExternalInterface.call(sMethod, nP, ((newPeakData) ? {
- leftPeak:lP,
- rightPeak:rP
- } : null), waveDataLeft, waveDataRight, ((newEQData) ? {
- leftEQ:eqDataLeft,
- rightEQ:eqDataRight
- } : null));
- };
- if (((!(oSound.useNetstream)) && (!((oSound.isBuffering == oSound.lastValues.isBuffering))))){
- oSound.lastValues.isBuffering = oSound.isBuffering;
- sMethod = (((this.baseJSObject + "['") + oSound.sID) + "']._onbufferchange");
- ExternalInterface.call(sMethod, ((oSound.isBuffering) ? 1 : 0));
- };
- }
- public function checkProgress():void{
- var _local1:int;
- var _local2:int = this.sounds.length;
- while (_local1 < _local2) {
- this.checkSoundProgress(this.soundObjects[this.sounds[_local1]]);
- _local1++;
- };
- }
- public function onLoadError(_arg1:Object):void{
- ExternalInterface.call((((this.baseJSObject + "['") + _arg1.sID) + "']._onload"), 0);
- }
- public function onLoad(_arg1:Event):void{
- var _local2:Object = _arg1.target;
- this.checkSoundProgress(this.soundObjects[_local2.sID]);
- if (!_local2.useNetstream){
- _local2.loaded = true;
- ExternalInterface.call((((this.baseJSObject + "['") + _local2.sID) + "']._whileloading"), _local2.bytesLoaded, _local2.bytesTotal, ((_local2.length) || (_local2.duration)));
- ExternalInterface.call((((this.baseJSObject + "['") + _local2.sID) + "']._onload"), ((((_local2.length) || (_local2.duration))) ? 1 : 0));
- };
- }
- public function onID3(_arg1:Event):void{
- var _local2:Object;
- var _local3:Array;
- var _local4:Array;
- var _local5:String;
- try {
- _local2 = _arg1.target;
- _local3 = [];
- _local4 = [];
- for (_local5 in _local2.id3) {
- _local4.push(_local5);
- _local3.push(_local2.id3[_local5]);
- };
- ExternalInterface.call((((this.baseJSObject + "['") + _local2.sID) + "']._onid3"), _local4, _local3);
- } catch(e:Error) {
- };
- _local2.REMoveEventListener(Event.ID3, this.onID3);
- }
- public function registerOnComplete(_arg1:String):void{
- var oSound:* = null;
- var sID:* = _arg1;
- oSound = this.soundObjects[sID];
- if (((oSound) && (oSound.soundChannel))){
- oSound.didFinish = false;
- oSound.soundChannel.addEventListener(Event.SOUND_COMPLETE, function ():void{
- if (oSound){
- checkSoundProgress(oSound, true, true);
- try {
- oSound.ignoreDataError = true;
- oSound.didFinish = true;
- ExternalInterface.call((((baseJSObject + "['") + sID) + "']._onfinish"));
- } catch(e:Error) {
- };
- oSound.ignoreDataError = false;
- oSound.handledDataError = false;
- } else {
- ExternalInterface.call((((baseJSObject + "['") + sID) + "']._onfinish"));
- };
- });
- };
- }
- public function doSecurityError(_arg1:SoundManager2_SMSound_AS3, _arg2:SecurityErrorEvent):void{
- }
- public function _setPosition(_arg1:String, _arg2:Number, _arg3:Boolean, _arg4:Boolean):void{
- var _local5:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
- if (!_local5){
- return;
- };
- if (_local5.lastValues){
- _local5.lastValues.position = _arg2;
- };
- if (_local5.useNetstream){
- _local5.ns.bufferTime = _local5.bufferTime;
- _arg2 = (((_arg2 > 0)) ? (_arg2 / 1000) : 0);
- _local5.ns.seek(_arg2);
- this.checkSoundProgress(_local5);
- } else {
- if (_local5.soundChannel){
- _local5.soundChannel.stop();
- };
- if ((((_local5.lastValues.loops > 1)) && (!((_arg2 == 0))))){
- _local5.lastValues.loops = 1;
- };
- try {
- _local5.start(_arg2, ((_local5.lastValues.loops) || (1)), _arg4);
- } catch(e:Error) {
- };
- this.checkSoundProgress(_local5);
- try {
- this.registerOnComplete(_arg1);
- } catch(e:Error) {
- };
- if (((_arg3) && (_local5.soundChannel))){
- _local5.soundChannel.stop();
- };
- };
- }
- public function _load(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:Boolean, _arg5:Number, _arg6:Boolean, _arg7:Boolean):void{
- var s:* = null;
- var ns:* = null;
- var sID:* = _arg1;
- var sURL:* = _arg2;
- var bStream:* = _arg3;
- var bAutoPlay:* = _arg4;
- var nLoops:* = _arg5;
- var bAutoLoad:* = _arg6;
- var bCheckPolicyFile:* = _arg7;
- if ("boolean" == "undefined"){
- bAutoPlay = false;
- };
- s = this.soundObjects[sID];
- if (!s){
- return;
- };
- var didRecreate:* = false;
- if (s.didLoad == true){
- didRecreate = true;
- ns = new Object();
- ns.sID = s.sID;
- ns.loops = ((nLoops) || (1));
- ns.usePeakData = s.usePeakData;
- ns.useWaveformData = s.useWaveformData;
- ns.useEQData = s.useEQData;
- ns.useNetstream = s.useNetstream;
- ns.bufferTime = s.bufferTime;
- ns.serverUrl = s.serverUrl;
- ns.duration = s.duration;
- ns.checkPolicyFile = s.checkPolicyFile;
- ns.useEvents = true;
- this._destroySound(s.sID);
- 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);
- s = this.soundObjects[sID];
- };
- this.checkSoundProgress(s);
- if (!s.didLoad){
- try {
- s.addEventListener(Event.ID3, this.onID3);
- s.addEventListener(Event.COMPLETE, this.onLoad);
- } catch(e:Error) {
- };
- };
- s.sURL = sURL;
- try {
- if (!s.useNetstream){
- s.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
- s.doIOError(_arg1);
- });
- };
- s.loadSound(sURL);
- } catch(e:Error) {
- };
- }
- public function _unload(_arg1:String):void{
- var _local2:SoundManager2_SMSound_AS3 = ((this.soundObjects[_arg1]) || (null));
- if (!_local2){
- return;
- };
- var _local3:String = _local2.sURL;
- try {
- REMoveEventListener(Event.ID3, this.onID3);
- REMoveEventListener(Event.COMPLETE, this.onLoad);
- } catch(e:Error) {
- };
- _local2.paused = false;
- if (_local2.soundChannel){
- _local2.soundChannel.stop();
- };
- try {
- if (((((_local2.didLoad) && (!(_local2.loaded)))) && (!(_local2.useNetstream)))){
- _local2.close();
- };
- } catch(e:Error) {
- };
- if (_local2.useNetstream){
- try {
- _local2.REMoveNetstreamEvents();
- _local2.ns.close();
- _local2.nc.close();
- } catch(e:Error) {
- };
- };
- var _local4:Object = new Object();
- _local4.sID = _local2.sID;
- _local4.loops = _local2.loops;
- _local4.usePeakData = _local2.usePeakData;
- _local4.useWaveformData = _local2.useWaveformData;
- _local4.useEQData = _local2.useEQData;
- _local4.useNetstream = _local2.useNetstream;
- _local4.bufferTime = _local2.bufferTime;
- _local4.serverUrl = _local2.serverUrl;
- _local4.duration = _local2.duration;
- _local4.autoPlay = _local2.autoPlay;
- _local4.autoLoad = _local2.autoLoad;
- _local4.checkPolicyFile = _local2.checkPolicyFile;
- this._destroySound(_local2.sID);
- 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);
- this.soundObjects[_arg1].connected = true;
- }
- 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{
- var _local15:SoundManager2_SMSound_AS3 = new SoundManager2_SMSound_AS3(this, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg9, _arg10, _arg11, _arg12, _arg13, _arg14);
- if (!this.soundObjects[_arg1]){
- this.sounds.push(_arg1);
- };
- this.soundObjects[_arg1] = _local15;
- this.currentObject = _local15;
- _local15.sID = _arg1;
- _local15.sURL = _arg2;
- _local15.paused = false;
- _local15.loaded = false;
- _local15.checkPolicyFile = _arg14;
- _local15.lastValues = {
- bytes:0,
- duration:0,
- position:0,
- loops:((_arg8) || (1)),
- leftPeak:0,
- rightPeak:0,
- bufferLength:0
- };
- }
- public function _destroySound(_arg1:String):void{
- var _local2:SoundManager2_SMSound_AS3 = ((this.soundObjects[_arg1]) || (null));
- if (!_local2){
- return;
- };
- var _local3:int;
- var _local4:int = this.sounds.length;
- while (_local3 < _local4) {
- if (this.sounds[_local3] == _arg1){
- this.sounds.splice(_local3, 1);
- break;
- };
- _local3++;
- };
- if (_local2.soundChannel){
- _local2.soundChannel.stop();
- };
- if (_local2.useNetstream){
- try {
- _local2.REMoveNetstreamEvents();
- } catch(e:Error) {
- };
- if (_local2.didLoad){
- try {
- _local2.ns.close();
- _local2.nc.close();
- } catch(e:Error) {
- };
- };
- } else {
- if (_local2.didLoad){
- try {
- _local2.close();
- } catch(e:Error) {
- };
- };
- };
- _local2 = null;
- this.soundObjects[_arg1] = null;
- delete this.soundObjects[_arg1];
- }
- public function _stop(_arg1:String, _arg2:Boolean):void{
- var _local3:SoundManager2_SMSound_AS3;
- if (_arg2){
- SoundMixer.stopAll();
- } else {
- _local3 = this.soundObjects[_arg1];
- if (!_local3){
- return;
- };
- if (((_local3.useNetstream) && (_local3.ns))){
- _local3.ns.pause();
- } else {
- if (_local3.soundChannel){
- _local3.soundChannel.stop();
- };
- };
- _local3.paused = false;
- };
- }
- public function _start(_arg1:String, _arg2:int, _arg3:int, _arg4:Boolean):Boolean{
- var _local6:Boolean;
- var _local5:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
- if (!_local5){
- return (true);
- };
- _local5.lastValues.paused = false;
- _local5.lastValues.loops = ((_arg2) || (1));
- if (!_local5.useNetstream){
- _local5.lastValues.position = _arg3;
- };
- _local5.handledDataError = false;
- try {
- _local6 = _local5.start(_arg3, _arg2, _arg4);
- } catch(e:Error) {
- };
- try {
- this.registerOnComplete(_arg1);
- } catch(e:Error) {
- };
- return (_local6);
- }
- public function _pause(_arg1:String, _arg2:Boolean):void{
- var _local3:SoundManager2_SMSound_AS3 = this.soundObjects[_arg1];
- if (!_local3){
- return;
- };
- if (!_local3.paused){
- _local3.paused = true;
- if (_local3.useNetstream){
- if (_local3.ns){
- _local3.lastValues.position = (_local3.ns.time * 1000);
- _local3.ns.pause();
- } else {
- if (_local3.autoPlay){
- _local3.setAutoPlay(false);
- };
- };
- } else {
- if (_local3.soundChannel){
- _local3.lastValues.position = _local3.soundChannel.position;
- _local3.soundChannel.stop();
- };
- };
- } else {
- _local3.paused = false;
- if (_local3.useNetstream){
- _local3.ns.resume();
- } else {
- _local3.start(_local3.lastValues.position, _local3.lastValues.loops, _arg2);
- };
- try {
- this.registerOnComplete(_arg1);
- } catch(e:Error) {
- };
- };
- }
- public function _setPan(_arg1:String, _arg2:Number):void{
- if (this.soundObjects[_arg1]){
- this.soundObjects[_arg1].setPan(_arg2);
- };
- }
- public function _setVolume(_arg1:String, _arg2:Number):void{
- if (this.soundObjects[_arg1]){
- this.soundObjects[_arg1].setVolume(_arg2);
- };
- }
- public function _setPolling(_arg1:Boolean=false, _arg2:uint=50):void{
- var bPolling:Boolean = _arg1;
- var nTimerInterval:int = _arg2;
- this.pollingEnabled = bPolling;
- if ((((this.timer == null)) && (this.pollingEnabled))){
- this.timer = new Timer(nTimerInterval, 0);
- this.timer.addEventListener(TimerEvent.TIMER, function ():void{
- checkProgress();
- });
- this.timer.start();
- } else {
- if (((this.timer) && (!(this.pollingEnabled)))){
- this.timer.reset();
- };
- };
- }
- public function _getMemoryUse():String{
- return (System.totalMemory.toString());
- }
- }
- }//package
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement