Avatar billede f5 Nybegynder
20. september 2003 - 13:44 Der er 4 kommentarer

problemer med lydobjectet online

Jeg har et underligt problem med lyd objektet. Det virker perfekt lokalt, men virker ikke på nettet.

Jeg har en array med navne på lydfiler som, npr der trykkes afspil, bliver indlæst med loadSound og derefter afspillet en ad gangen med onSoundComplet.

Det hele fungere når jeg køre det fra programmet lokalt. Men når jeg ftp'er det op og prøver, virker det kun en gang. Næste gang der trykkes afspil, sker intet. Er der nogle kendte bugs eller almedelig fald grupper som nogle kender til.

I kan se swf'en her:

http://www.itu.dk/people/msk/dril/lyd/version_5.swf

Jeg vil gerne ligge noget script ud, men det er ret langt. Jeg vil meget gerne ligge det relevant ud hvis der er nogen som vil kigge.

VH
Michael
Avatar billede f5 Nybegynder
20. september 2003 - 14:09 #1
Afspilningen af lyder starter fra en onLoad event på hver lyd, når den sidste lyd er indlæst, starter afspilningen.
Jeg har fundet ud af, at det har noget at gøre med, at når en lyd er blevet loaded ind en gang, og jeg prøver at loade den ind igen (regnede med jeg hurtigt kunne hente den fra cachen), bæliver onLoad eventen ikke trigget????

Nogle der kender til dette problem?
Avatar billede pyroman Nybegynder
20. september 2003 - 18:23 #2
Næh - det går an på hvordan din kode ser ud - prøv at ligge det i en kommentar - ligemeget hvor meget det fylder. Vi skal altså se det for at finde ud af hvor den er gal...
Avatar billede f5 Nybegynder
20. september 2003 - 20:15 #3
Det må i selvfølgelig også hjertligt gerne. Det her er hvad jeg bruger(og i kan se siden her http://www.itu.dk/people/msk/dril/lyd/version_test_5.html):

Når der trykes på "afspil" køre denne function som sætter arrayen op afhængig af hvordan ordene er placeret

function setSoundArrays() {
    _root.mySoundArray1 = new Array();
    _root.mySoundArray2 = new Array();
    _root.finalSoundArray = new Array();
    _root.count = 0;
    for (prop in _root) {
        if (typeof (_root[prop].sound) == 'string') {
            if (_root[prop]._y>=_root.line2._y-_root.container1._height/2 and _root[prop]._y<_root.line2._y+_root.line2._height) {
                xPosValue = Math.round(_root[prop]._x)+100;
                _root.mySoundArray1.push({xPos:xPosValue, lyd:_root[prop].sound});
                            }
            if (_root[prop]._y>=_root.line2._y+_root.line2._height and _root[prop]._y<=_root.line1._y+_root.line1._height) {
                xPosValue = Math.round(_root[prop]._x)+100;
                _root.mySoundArray2.push({xPos:xPosValue, lyd:_root[prop].sound});
            }
        }
    }
    _root.mySoundArray1.sortOn("xPos");
    _root.mySoundArray2.sortOn("xPos");
    _root.finalSoundArray = _root.mySoundArray1.concat(_root.mySoundArray2);
    _root.loadSounds();
}

//denne funktion kaldes så
function loadSounds() {
    _root['soundObject'+_root.count] = new Sound();
    myRef = "http://www.itu.dk/people/msk/dril/lyd/"+_root.finalSoundArray[_root.count].lyd+".mp3";
    _root['soundObject'+_root.count].loadSound(myRef, false);
    _root['soundObject'+_root.count].nextNumber = _root.count+1;
    _root['soundObject'+_root.count].onLoad = loadNextSound;
    _root['soundObject'+_root.count].onSoundComplete = playNextSong;
    _root.count++;
}
function loadNextSound() {
    if (_root.count<_root.finalSoundArray.length) {
        loadSounds();
    } else {
        _root.count = 0;
        _root.fogh_himself.gotoAndPlay(2);
        _root.soundObject0.start();
    }
}
function playNextSong() {
    if (this.nextNumber<_root.finalSoundArray.length) {
        _root['soundObject'+this.nextNumber].start();
    } else {
        _root.fogh_himself.gotoAndStop(1);
    }
}

Nu har jeg siddet og arbejdet med det hele dagen, og jeg er ret overbevist om at der ikke er noget galt med scriptet. Problemet er at mp3 lydfilen ligger sig i cahen og anden gang den skal indlæses når den ikke at afvikle onLoad eventen.

Jeg er meget interessrert i at høre kommentare

VH
Michael
Avatar billede pyroman Nybegynder
20. september 2003 - 21:26 #4
Har du prøvet at loaded alle lydende ind til at starte med så de ikke skal loades ind i mellem? Jeg ved ikke om det har noget med problemet at gøre, men nogle gange sker der noget mærkeligt når lydende hentes ind udefra flash, og sikkert også hvis de ikke er loadet...
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