Avatar billede snigeren Nybegynder
06. december 2002 - 13:29 Der er 27 kommentarer og
2 løsninger

Lyd i flash

Hi

jeg har en .swf fil med start/stop knapper i og musikken bliver hentet ind fra en anden .swf fil.

jeg har 3 forskellige stykker musik, som skal ligge i hver sim .swf fil for at det ikke kommer til at fylde for meget.

hvad skal koderne være for at dette kan lade sig gøre?

eller er der andre gode måder at gøre dette på?

jeg bruger "sound object"

/Snig
Avatar billede pyroman Nybegynder
06. december 2002 - 14:26 #1
Du henter swf-erne en i MC'er når du afspiller lyden:
mitMC.loadMovie ("lyd1.swf");

På start knappen
on (release) (
  mitMC.minLyd.start (0, 1);
)

og "---.stop ()" på stop knappen.

Jeg kan ikke bekræfte det lige nu, da  jeg ikke sidder med flash lige nu, men prøv det...

/Filip
Avatar billede snigeren Nybegynder
06. december 2002 - 14:51 #2
skal lige høre helt præcis hvad de forskellige ting betyder, jeg er stadig lidt n00b til flash =D

mitMC = instance på det MC man loader swf´erne ind i ikke ?

men hvad er "minLyd" og hvad betyder (0,1)

/Snig
Avatar billede snigeren Nybegynder
06. december 2002 - 14:56 #3
håber ikke det er alt for dumme spørgsmål :P

/Snig
Avatar billede snigeren Nybegynder
06. december 2002 - 16:54 #4
har fundet ud af "men hvad er "minLyd" og hvad betyder (0,1)"....
.. men hvis jeg i "lyd1.swf" benytter sound object vil den ikke starte når jeg henter "lyd1.swf" med en knap fra en anden movie =(

lyd1.swf virker fint hvis jeg bare dobbelt klikker på den i windows, så starter musikken med det samme.

hvis du kan få det til at virke må du meget gerne hjælpe med den præcise kode.

/snig
Avatar billede snigeren Nybegynder
06. december 2002 - 16:56 #5
jeg har brugt koden herunder i min lyd.swf:

track1 = new Sound();
track1.attachSound("track01");

track1.start(0,999);

/snig
Avatar billede mat Nybegynder
06. december 2002 - 16:57 #6
minLyd = new Sound(this);
minLyd.attachSound("id");
minLyd.start(0,1);

noget a la det der skulle do the trick :)
Avatar billede mat Nybegynder
06. december 2002 - 17:01 #7
..det bliver så:

track1 = new Sound(this);
track1.attachSound("track01");

track1.start(0,999);

i dit tilfælde...
Avatar billede snigeren Nybegynder
06. december 2002 - 17:05 #8
kan du skrive helt præcis hva man skal gøre hvis man skal kalde en ny .swf med lyden i og hvordan man så siger start/stop fra den første .swf man befinder sig i?

/snig
Avatar billede mat Nybegynder
06. december 2002 - 17:11 #9
du loader den ind i et movieclip med loadMovie("min_fil.swf", _root.mit_movieclip); hvorvidt du styrer den med:

_root.mit_movieclip.minLyd.stop(); // eller start


..er jeg ikke sikker på, har aldrig prøvet, men jeg kunne da forestille mig at det var sådan det ville se ud :)
Avatar billede mat Nybegynder
06. december 2002 - 17:12 #10
dine sound-objekt actions skal stadig være i din swf det har lyden i sit library. altså dem her:

track1 = new Sound(this);
track1.attachSound("track01");

track1.start(0,999);
Avatar billede snigeren Nybegynder
06. december 2002 - 17:13 #11
hehe oki,... du kunne vel ikke lokkes til at lave 2 .swf´er hvor den første styrer lyden der bliver hentet ind fra den anden?

læser lige hvad du skriver lidt senere skal smutte nu =)

/snig
Avatar billede mat Nybegynder
06. december 2002 - 17:18 #12
det bliver ikke lige nu - jeg har ikke tid nu, måske senere, måske imorgen :)
Avatar billede mat Nybegynder
06. december 2002 - 21:14 #13
ok, følg med nu ;)

i den fil du loader ind som har lyden i library, skriver du:

lyd = new Sound(this);
lyd.attachSound("blip");

thats it

I den fil du vil styre lyden med skriver du nu i frame 1:

loadMovie("beep.swf", holder);
holder.lyd.stop();
stop.onRelease = function() {
    holder.lyd.stop();
};
play.onRelease = function() {
    if (!pavs) {
    holder.lyd.start();
    }
    else {
          holder.lyd.start(p/1000);
          pavs = 0;
}
};
pause.onRelease = function() {
    p = holder.lyd.position;
    pavs = 1;
    holder.lyd.stop();
};

Dine knapper skal så have instancenavne play, pause og stop. Dit movieclip som du loader den eksterne swf ind i har instancenavn "holder".

Nu har du en player med pauseknap og det hele :P

leg lidt med det, og meld ud hvis du stadig ikke kan få det til at spille (btw. ovenstående er mx-syntaks)

mvh mat
Avatar billede snigeren Nybegynder
09. december 2002 - 09:49 #14
blev lige væk i weekenden, skulle lige til slagelse =)

men det ser sku godt ud og det virker umiddelbart, men..

1 hvis jeg trykker på play 2 eller flere gange spiller musikken oveni sig selv det antal gange.

2 hvordan får jeg den til at play automatisk idet man kommer ind på siden?

3 der skal være 3 stykker musik i 3 forskellige .swf´er hvad skal koden til en af de knapper der skal hente den næste sang være? sidst men ikke mindst,

4 er det et problem at det er MX syntaks? for det er en ret vigtig hjemmeside.

Hilsen Snig
Avatar billede pyroman Nybegynder
09. december 2002 - 14:09 #15
Hov - hvad blev der af mit indlæg? Nu havde jeg lige brugt tid på at sidde og skrive det hele!!!
Avatar billede snigeren Nybegynder
09. december 2002 - 14:17 #16
hmmm gjorde jeg oxo,.. brugte for lang tid på at skrive så den loggede af igen og gemte ikke beskeden =(, ved ikk lige hvad der blev af dit,.. men det mat skriver er rigtig godt

/snig
Avatar billede pyroman Nybegynder
09. december 2002 - 14:28 #17
Nåh jeg skriver det igen:

Jeg laver det i flash 5 syntaks i tilfælde af du ikke har programmet - helt forfra:
1. frame i tidslinien:

function loadAndPlay (file) {
  loadMovie (file, holder);
  holder.lyd.start (0, 9999);
}
function play () {
  if (!pavs) {
    holder.lyd.stop ();
    holder.lyd.start (0, 9999);
  } else
    holder.lyd.start (p, 9999);
    pavs = 0;
}
function pause () {
    p = holder.lyd.position/1000;
    pavs = 1;
    holder.lyd.stop();
}
function stop () {
    pavs = 0;
    holder.lyd.stop();
}
loadAndPlay ("minFilm.swf");

På start-knappen:
on (release) {
  play ();
}
På pauseknappen:
on (release) {
  pause ();
}
På stop knappen:
on (release) {
  stop ();
}
På skifte musik-knapperne:
on (release) {
  loadAndPlay ("minFilm.swf");
}

/Filip
Avatar billede pyroman Nybegynder
09. december 2002 - 14:54 #18
Øhm forresten bør du nok omdøbe funktionernes navne, da flash ellers kommer til at forveksle dem med dens egne foruddefinerede. Istedet for "play" og "stop" så skriv "playSound" og "stopSound" - Bare en lille fejl fra min side...
Avatar billede snigeren Nybegynder
09. december 2002 - 15:29 #19
det virker oxo fint nok,.. men...

1 den starter stadig ikke af sig selv

2 musikken skal ikke stoppe og starte igen hvis man trykker på play,.. den skal være helt slået fra når den spiller.... kunne man ikke bruge:

playing = true

on (release) {
    if (playing!=true) {
      _root.firstSound.start(0,999);
      playing=true;
}

men kan ikke lige se hvordan jeg kan implementere den i den function du har lavet til play =)

men vil oxo meget gerne høre viddere om dit foreslag mat =)

hilsen Snig
Avatar billede snigeren Nybegynder
09. december 2002 - 15:30 #20
ja okay tog det her fra flashkit så ikke tænk for meget over "_root.firstSound.start" =))

Snig
Avatar billede pyroman Nybegynder
09. december 2002 - 15:39 #21
Hmmm

Jeg kan ikke forstå hvorfor den ikke starter - Har du husket at medtage loadAndPlay ("fil.swf") i 1. frame?

Ellers så prøv at sætte loadAndPlay i 2. frame!

2. jo du kan godt lave denne variabel: så skal du bare huske at sætte dette allerførst i dit script:
playing = false;

og hvor der står noget med start() skal du også indsætte playing = true;
Avatar billede pyroman Nybegynder
09. december 2002 - 15:41 #22
"playSound ()" funktionen sætter du på din "play"-knap
Avatar billede snigeren Nybegynder
09. december 2002 - 16:10 #23
af en eller anden årsag virker det ikke med  loadAndPlay ("minFilm.swf");
har prøvet i flere forskellige frames,.. jeg prøvede oxo at smide afspil ();  ind efter det hele i 1. frame (jeg har omdøbt play til afspil)

ellers virker det fint med track skifte og det hele

/snig
Avatar billede mat Nybegynder
09. december 2002 - 19:17 #24
hvordan attacher du din lyd i filen der holder på lyden?

...Der er ikke den store forskel på pyromans og min.

MX syntaks er kun et problem i det omfang at det endnu ikke er alle, der har flash player 6 (men det kan vi jo ligeså godt tvinge dem til at få ;)

Jeg kan godt se at det er lidt et problem at den starter igen, men den ser du ud til at have styr på :)

mvh mat
Avatar billede snigeren Nybegynder
09. december 2002 - 22:20 #25
ye klarer nok den med at den starter igen,...
men hvis du kan hjælpe mig med at få den til at starte automatisk ville det være ultra nice...

det her er den nøjagtige kode fra den fil hvor selve lyden ligger:

lyd = new Sound(this);
lyd.attachSound("track01");

lyden virker fint men vil bare ikke starte selv =(

/snig
Avatar billede snigeren Nybegynder
09. december 2002 - 22:22 #26
som jeg skrev har jeg omdøbt play til afspil og så har jeg prøvet at smide kommandoen:

afspil();

til allersidst i koden i 1. frame men det hjalp ikke men den virker når jeg trykker på "afspil" knappen,..

/snig
Avatar billede mat Nybegynder
09. december 2002 - 23:28 #27
prøv istedet at skrive:

lyd = new Sound(this);
lyd.attachSound("track01");
lyd.start(0, 9999); // eller hvor mange gange den nu skal loope

..når du attacher den.
Avatar billede snigeren Nybegynder
09. december 2002 - 23:49 #28
weee det ser ud til at virke =))

lige en sidste ting,.. hvis jeg har en side der er delt op i frames,... og jeg ved et klik på en knap åbner en musik menu, som ligger i frame 15 og det er det eneste tidspunkt jeg kommer til at befinde mig i frame 15(når jeg bruger musik menuen) skal al koden så ligge i frame 15 eller ?

/snig
Avatar billede snigeren Nybegynder
10. december 2002 - 09:50 #29
tak skal i ha gutter,.. det virker nice, men mat hjalp lige lidt mere end pyroman så mat får 18 og pyro får 12 =))

/snig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester