Skip to main content
itsatom
Inspiring
February 18, 2016
Answered

sharedobject - Sound - as3

  • February 18, 2016
  • 1 reply
  • 824 views

How it is possible to save a sound-object in Sharedobject !?

var meinsound1:blablameinsound1 = new blablameinsound1();

var meinsound2:blameinsound2 = new blameinsound2();

var sharedO:SharedObject;

sharedO = SharedObject.getLocal("blabla");

var ktoenezufallarray:Array = new Array(meinsound1,meinsound2);

var ahaktoenezufallarray:Array = new Array();

button.addEventListener(MouseEvent.MOUSE_DOWN, buttonf);

function buttonf(event:MouseEvent):void

{

    speicher();

}

if (sharedO.data.kmelodie)

{

    ktext.text=sharedO.data.kmelodie[0].toString();

    ahaktoenezufallarray=sharedO.data.kmelodie;

    ahaktoenezufallarray[0].play(0,1);

    sharedO.data.kmelodie[0].play(0,1);

}

function speicher()

{

    var savingArr:Array = new Array ;

    for (var i:int=0;i<ktoenezufallarray.length;i++)

    {

        savingArr.push(ktoenezufallarray);

    }

    sharedO.data.kmelodie= savingArr;

    sharedO.flush();

    sharedO.data.kmelodie[0].play(0,1);

}

This topic has been closed for replies.
Correct answer kglad

you can save (in your sharedobject) the string name of your sound class and then restore the class name using getDefinitionByName:

var meinsound1:blablameinsound1 = new blablameinsound1();

var meinsound2:blameinsound2 = new blameinsound2();

var sharedO:SharedObject;

sharedO = SharedObject.getLocal("blabla");

var ktoenezufallarray:Array = new Array(meinsound1,meinsound2);

var ahaktoenezufallarray:Array = new Array();

button.addEventListener(MouseEvent.MOUSE_DOWN, buttonf);

function buttonf(event:MouseEvent):void

{

    speicher();

}

if (sharedO.data.kmelodie)

{

    ktext.text=sharedO.data.kmelodie[0].toString();

    ahaktoenezufallarray=sharedO.data.kmelodie;

    ahaktoenezufallarray[0].play(0,1);

    sharedO.data.kmelodie[0].play(0,1);

}

function speicher()

{

    var savingArr:Array = new Array ;

    for (var i:int=0;i<ktoenezufallarray.length;i++)

    {

        savingArr.push(getQualifiedClassName(ktoenezufallarray));

    }

    sharedO.data.kmelodie= savingArr;

    sharedO.flush();

    var C:Class=Class(getDefinitionByName(sharedO.data.kmelodie[0]));

var sound:*=new C();

sound.play(0,1);

}

1 reply

kglad
Community Expert
kgladCommunity ExpertCorrect answer
Community Expert
February 18, 2016

you can save (in your sharedobject) the string name of your sound class and then restore the class name using getDefinitionByName:

var meinsound1:blablameinsound1 = new blablameinsound1();

var meinsound2:blameinsound2 = new blameinsound2();

var sharedO:SharedObject;

sharedO = SharedObject.getLocal("blabla");

var ktoenezufallarray:Array = new Array(meinsound1,meinsound2);

var ahaktoenezufallarray:Array = new Array();

button.addEventListener(MouseEvent.MOUSE_DOWN, buttonf);

function buttonf(event:MouseEvent):void

{

    speicher();

}

if (sharedO.data.kmelodie)

{

    ktext.text=sharedO.data.kmelodie[0].toString();

    ahaktoenezufallarray=sharedO.data.kmelodie;

    ahaktoenezufallarray[0].play(0,1);

    sharedO.data.kmelodie[0].play(0,1);

}

function speicher()

{

    var savingArr:Array = new Array ;

    for (var i:int=0;i<ktoenezufallarray.length;i++)

    {

        savingArr.push(getQualifiedClassName(ktoenezufallarray));

    }

    sharedO.data.kmelodie= savingArr;

    sharedO.flush();

    var C:Class=Class(getDefinitionByName(sharedO.data.kmelodie[0]));

var sound:*=new C();

sound.play(0,1);

}

itsatom
itsatomAuthor
Inspiring
February 19, 2016

the string name of my sound class i get with .toString() too,

but i have no opportunity to start the sound in this section:


if (sharedO.data.kmelodie)

{

  ...

}

kglad
Community Expert
Community Expert
February 19, 2016

use the code i suggested.