Avatar billede jmc Nybegynder
13. september 2001 - 18:54 Der er 20 kommentarer og
1 løsning

random sound.swf fil selection

hvordan laver en et script som laver en random udvælgelse af en sound.swf som kun indeholder en lydfil. Det må gerne være hardcoded, men helst med muligdeh for at hente lydfilerne via et ASP script!
Avatar billede flash_gordon Nybegynder
13. september 2001 - 19:20 #1
du kan nemt lave af den loade en random swf, som indeholder en lydfil, men når du skriver at det skal kunne hentes via et ASP script er jeg lost. Sig til hvis du kan nøjes med min løsning.
Avatar billede lingoman Nybegynder
13. september 2001 - 19:23 #2
Opret en funktion som indeholder urls for dine SWF filer der skal vælges imellem.

function pickRandomSWF () {

          myRandomSWFarray = new Array(\"URL1.swf\", \"URL2.swf\", \"URL3.swf\", \"URL4.swf\", \"URL5.swf\");
          randomIndex = random(myRandomSWFarray.length);
          randomSWF = myRandomSWFarray[randomIndex];
          return randomSWF;
}

Hvergang du kalder funktionen, bliver der udvalgt en tilfælding URL fra listen

valgtSWF = pickRandomSWF();

mvh geo
Avatar billede jmc Nybegynder
15. september 2001 - 02:28 #3
håber det er ok, lige med et spørgsmål mere!

kan jeg starte swf ved at sætte den i et checkscript på denne måde uden at skulle benytte telltarget eller andet!

function pickRandomSWF () {
    myRandomSWFarray = new Array(\"s1.swf\", \"s2.swf\", \"s3.swf\", \"s4.swf\", \"s5.swf\");
    randomIndex = random(myRandomSWFarray.length);
    randomSWF = myRandomSWFarray[randomIndex];
    return randomSWF;
}
ifFrameLoaded (150) {
    valgtSWF = pickRandomSWF();
    gotoAndPlay (3);
}
Avatar billede lingoman Nybegynder
15. september 2001 - 09:52 #4
Hej jmc,

Jeg ville nok lave denne flash jukebox ved at have en tom movieClip på maintimeline hvori disse tilfældige SWF lydfiler bliver loaded ind. Lad os fks navngive det tomme MC instance som \"lydMC\"

Jeg går ud fra at lydfilerne endnu ikke er loaded ind, og at du derfor bruger ifFrameLoaded (150) som et tjek.

Hvis du vil undgå lange ventetider for dine SWF lydfiler, kan du sørge for at streame lange lyde med en streamrate mindre end 56k/sek.

Du behøver ikke at benytte telltarget eller andet fordi afspilling starter automatisk når du loader din SWF ind i movieClippet \"lydMC\" via en frameaction a la

valgtSWF = pickRandomSWF();
loadMovie(valgtSWF, \"lydMC\");

function pickRandomSWF () {
                          myRandomSWFarray = new Array(\"s1.swf\", \"s2.swf\", \"s3.swf\", \"s4.swf\", \"s5.swf\");
                          randomIndex = random(myRandomSWFarray.length);
                          randomSWF = myRandomSWFarray[randomIndex];
                          return randomSWF;
                      }

Håber det hjælper :)

mvh geo


Avatar billede jmc Nybegynder
15. september 2001 - 10:54 #5
jeg er temmeligt på bar bund, jeg har prøvet varianter af den kode du har opgivet, men lydfilen starter ikke??? Jeg har lavet et MC ved navn lydMC og placeret det i timeline, men ude resultat. Hvad kunne det evt. tænkes at jeg gør galt?
Avatar billede lingoman Nybegynder
15. september 2001 - 11:15 #6
Vi bør nok teste skridt for skridt...

Lav en test.fla med noget grafik i de 2 første frames så vi kan se om loadMovie() fungerer som det skal.

Indsæt som frame actioner i denne test.fla

trace(\"test frame 1\");  // i frame 1
trace(\"test frame 2\");  // i frame 2

Vi får herved et output som siger noget om test.swf kører automatisk eller ej når den loades



Save & exporter test.swf til samme mappe som dine andre filer

Gå nu ind i din keyframe hvor du har pickRandomSWF() funktionen.

Rediger actionen sådan at test.swf bliver loaded i stedet for en random. Din action bør nu se ud således:

valgtSWF = \"test.swf\";

//valgtSWF = pickRandomSWF();

loadMovie(valgtSWF, \"lydMC\");

function pickRandomSWF () {
            myRandomSWFarray = new Array(\"s1.swf\", \"s2.swf\", \"s3.swf\", \"s4.swf\", \"s5.swf\");
            randomIndex = random(myRandomSWFarray.length);
            randomSWF = myRandomSWFarray[randomIndex];
            return randomSWF;
}


Kan du se test grafikken når du tester ?
Ser du
\"test frame 1\"
\"test frame 2\"
i dit output vindue ?

lad mig høre om du finder de forventede resultater

mvh geo
   
Avatar billede jmc Nybegynder
15. september 2001 - 11:30 #7
Kan ikke se grafik, med functionen slået fra og:

//valgtSWF = pickRandomSWF();
valgtSWF = \"test.swf\";
loadMovie (valgtSWF, \"lydMC\");

trace frame 1 og 2 udskrives ok når test.swf køres alene men ikke når jeg kalder test.swf fra hovedmovien!



frame 1:
//valgtSWF = pickRandomSWF();
valgtSWF = \"test.swf\";
loadMovie (valgtSWF, \"lydMC\");

function pickRandomSWF () {
    myRandomSWFarray = new Array(\"s1.swf\", \"s2.swf\", \"s3.swf\", \"s4.swf\", \"s5.swf\");
    randomIndex = random(myRandomSWFarray.length);
    randomSWF = myRandomSWFarray[randomIndex];
    return randomSWF;
}


frame 2:
ifFrameLoaded (150) {
    gotoAndPlay (4);
}


frame 3:
gotoAndPlay (2);
Avatar billede lingoman Nybegynder
15. september 2001 - 11:35 #8
Hvis du får alle de resultater betyder det at dine actioner er sat ind det rigtige sted. Så tester vi herefter pickRandom() funktionen ved at redigere actionen til den ser ud sådan her:

//valgtSWF = \"test.swf\";

                      valgtSWF = pickRandomSWF();

                      loadMovie(valgtSWF, \"lydMC\");

                      function pickRandomSWF () {
                                  //myRandomSWFarray = new Array(\"s1.swf\", \"s2.swf\", \"s3.swf\", \"s4.swf\", \"s5.swf\");
                                  myRandomSWFarray = new Array(\"test.swf\");
                                  randomIndex = random(myRandomSWFarray.length);
                                  randomSWF = myRandomSWFarray[randomIndex];
                                  return randomSWF;
                      }


                      Kan du stadig se test grafikken når du tester ?
                      Ser du
                      \"test frame 1\"
                      \"test frame 2\"
                      i dit output vindue ?

Hvis du får de samme resultater betyder det at pickRandom() funktionen også er i orden, og at det er dine lyde SWF vi skal kigge nærmere på.
Avatar billede lingoman Nybegynder
15. september 2001 - 11:37 #9
Det vil sige at din test.swf ikke bliver loaded....
Hvor har du sat actionen ind ? Jeg ville be dig om at sende filerne til mig, men jeg har desværre ikke flash installeret på denne maskine
Avatar billede lingoman Nybegynder
15. september 2001 - 11:39 #10
Har du også \"lydMC\" i frame 4 på maintimeline ?
Avatar billede lingoman Nybegynder
15. september 2001 - 11:41 #11
Findes \"lydMC\" i frame 1 til 4 ?
Avatar billede jmc Nybegynder
15. september 2001 - 11:51 #12
Jeg har ALDRIG kunnet se grafik fra test.swf i hovedmovien og ej hellere udskrive test frame 1 i mit output vinduet som jeg også skrev, kunne jeg kun udskrive når jeg kørte test.swf alene !

Jeg har nu flyttet lydMC således at den har en keyframe i frame 1 og strækker sig over hele movien (til tom frame i sidste frame)

Jeg har din mail og kan godt sende med mindre du har flere ideer jeg kan prøve. tal for din ihærdighed!
Avatar billede lingoman Nybegynder
15. september 2001 - 12:05 #13
Ja, mit indlæg fra 11:35 blev skrevet inden jeg så dit fra 11:30.

Dine resultater betyder at loadMovie overhovet ikke bliver eksekveret.

Så prøv at flytte din action til frame 2, og slet den fra frame 1,imens selve \"lydMC\" også findes i alle frames

hovedFilm frame 1:

trace(\"main frame 1\");

hovedfilm frame 2:

                    trace(\"main frame 2\");
                      //valgtSWF = pickRandomSWF();
                      valgtSWF = \"test.swf\";
                      loadMovie (valgtSWF, \"lydMC\");

                      function pickRandomSWF () {
                          myRandomSWFarray = new Array(\"s1.swf\", \"s2.swf\", \"s3.swf\", \"s4.swf\", \"s5.swf\");
                          randomIndex = random(myRandomSWFarray.length);
                          randomSWF = myRandomSWFarray[randomIndex];
                          return randomSWF;
                      }

Check \'Movie Explorer\' for at se om du kan se et symbol \"LydMC\" (lydMC)  inklusiv paranteser, hvis ikke, klikker du på LydMC og navngiver den i MC properties panelet.

Som sagt, har jeg ikke mulighed for andet end at vejlede herfra, så måske bør du få en anden med flash til hjælpe dig...

mvh geo
Avatar billede lingoman Nybegynder
15. september 2001 - 12:13 #14
Ligger din test.swf og dine andre .swf i samme mappe som hovedfilmen ? Hvis ikke, så sørg for at de gør.
Avatar billede jmc Nybegynder
15. september 2001 - 12:17 #15
naturligvis, ja det gør de. Scriptet ligger som framescripts på de nævnte frames!
Avatar billede lingoman Nybegynder
15. september 2001 - 12:20 #16
Og du ser instance navnet (lydMC) i paranteser i movie explorer vinduet ? Får du output

\"main frame 1\"
\"main frame 2\"  ?
Avatar billede lingoman Nybegynder
15. september 2001 - 12:22 #17
Prøver lige at se om vi kan hente mere hjælp....
Avatar billede jmc Nybegynder
15. september 2001 - 12:25 #18
ok ok, nu fandt jeg ud at det....
Efter at jeg navngav mit movieclip og linkede til dette så virkede det. Jeg ved ikke , det må være stien der gik galt, at den ikke gid til root!


valgtSWF = pickRandomSWF();
//valgtSWF = \"test.swf\";
loadMovie (valgtSWF, \"sound\");
function pickRandomSWF () {
    myRandomSWFarray = new Array(\"s1.swf\", \"s2.swf\", \"s3.swf\", \"s4.swf\", \"s5.swf\");
    randomIndex = random(myRandomSWFarray.length);
    randomSWF = myRandomSWFarray[randomIndex];
    return randomSWF;
}


;-) tak
Avatar billede lingoman Nybegynder
15. september 2001 - 12:29 #19
Det glæder mig at høre! Så virker det altså som du ønsker ?
Avatar billede jmc Nybegynder
15. september 2001 - 12:47 #20
yes, \"sound\" er instance navn på lydMC.
det var det som skulle til.... måske var det pga. at jeg ikke definerede lydMC til _root.lydMC ??`

me ihvertfald taksåmeget!
Avatar billede lingoman Nybegynder
15. september 2001 - 12:53 #21
_root.lydMC er ikke nødvendigt fordi vores action allerede findes på maintimeline (_root). Men bare det virker er alt jo OK!

Tak for point :)
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