Dec
7
Sound- object (setVolume- ongelma)
Filed Under Flash & Flex
Ongelman kuvaus: Flash- esitykseen on luotu kaksi tai useampia Sound- objektin esiintymiä ja jokaiseen niistä on liitetty oma ääniraita. Kun jonkun raidan äänentasoa säätä, se vaikuttaa jokaiseen ääniraitaan. Mikä siis vikana?
Olen törmännyt tähän kysymykseen usein (apukeittio.com) ja siksi katson tarpeelliseksi kirjoittaa aiheesta myös omilla sivuillani.
On varsin luonnollista olettaa, että luomalla oma Sound-objekti, jokaiselle erilliselle ääniraidalle, voidaan niitä hallita täysin itsenäisinä ja erillisinä toisistaan (olen itsekin paininut aikoinani saman ongelman kanssa). Tämä ei kuitenkaan riitä. Luotu Sound-objekti ei ole itsessään varsinainen ääniraita, vaan pelkkä viittaus äänilähteeseen. Olennaista on siis se, missä kyseinen ääniraita sijaitsee.
Luodessasi uuden esiintymän Sound-luokasta, sille voidaan antaa vallinnaisena parametrina, movieclipin nimi, jonka aikajanalle haluat sijoittaa äänilähteen.Tämä tapahtuu seuraavalla syntaksilla.
soundObjektinNimi = new Sound(movieClipinNimi);
Jotta voisit sijoittaa äänilähteen movieClipin aikajanalle on siis luotava myös uusi movieClip esiintymä.
_root.createEmptyMovieClip(esiintymanNimi,syvyys);
Kokonaisuudessaan se voisi näyttää tältä.
_root.createEmptyMovieClip("holder",1); soundtrack = new Sound(holder);
Samalla tavalla voit luoda myös useampia esiintymiä:
_root.createEmptyMovieClip("holder_1",1); soundtrack_1 = new Sound(holder_1); _root.createEmptyMovieClip("holder_2",2); soundtrack_2 = new Sound(holder_2);
Sijoittamalla jokaiseen luotuun Sound-objektiin oman ääniraidan, voit huoletta säätää raidan äänenvoimakkuutta, vaikuttamatta muihin ääniraitoihin.
Comments
Leave a comment
