Loading:


    Odtwarzacz muzyczny plików MP3 korzystający z listy w pliku XML

    Skrypt korzysta z listy plików MP3, które są zawarte w zewnętrznym pliku XML. Plik XML posiada atrybuty dla każdego wpisu takie jak: nazwa, autor oraz ścieżka dostępu. Flash pobiera te informacje oraz rozpoczyna automatycznie odtwarzanie pierwszego w kolejności utworu. Skrypt posiada funkcje pauzy, przycisku następny/poprzedni utwór i wyświetla tytuł oraz autora aktualnie granej piosenki.

     

    Jeśli przeczytaliscie już artykuły o dwóch wcześniejszach odtwarzaczach Flash (wersja podstawowa oraz standardowa), to nie będziecie mieli żadnych problemów ze zrozumieniem kodu i w tym skrypcie, za wyjątkiem kodów dotyczących XML. Te trudniejsze części zostały wyjaśnione w formie komentarzy.


    UWAGA!

    Aby kod działał poprawnie należy umieścić 4 przyciski o nazwach instancji: pause_mc, play_mc, next_mc, prev_mc oraz jedno pole dynamiczne o nazwie instancji pole_txt .



    Napisz Artyku³

    Listing

    //zawartość pliku lista.xml
    <?xml version="1.0" encoding="iso-8859-2"?>
    <utwory>
     <muzyka autor="demo1" tytul="tytul1" path="music1.mp3"/>
     <muzyka autor="demo2" tytul="tytul02" path="music2.mp3"/>
    </utwory>

    //kod action script w pierwszej klatce filmu
    muzyka = new Sound();
    autor = new Array();
    tytul = new Array();
    path = new Array();
    id = new Array();
    number = 0;
    _root._soundbuftime = 20;

    pole_txt.autoSize = true;

    //tworzenie obiektu, który odczyta XML plik
    xmlData = new XML();
    //ignorowanie białych znaków
    xmlData.ignoreWhite = true;
    //zdarzenie wywoła funkcje loadXML jeśli plik zostanie załadowany do filmu
    xmlData.onLoad = loadXML;
    //ładowanie pliku xml o nazwie lista.xml
    xmlData.load("lista.xml");

    stan = "play";

    function dopasowanie() {
            pole_txt._x = 88;
            pole_txt._y = 5;
            dlugosc = pole_txt._width;
            setInterval(plywanie, 70);
    }

    function plywanie() {
            if (pole_txt._x+dlugosc > -0) {
            pole_txt._x = pole_txt._x - 0.5;
            }else{
            pole_txt._x = 88;
            }
    }

    function loadXML(loaded) {
            //jeśli załadowany to odczytaj informacje o utworach
            if (loaded) {
                    //pobieranie każdej piosenki
                    for (i=0; i<xmlData.firstChild.childNodes.length; i++) {
                            //[przypisywanie każdej informacji o piosence do tablic
                            id[i] = i;
                            autor[i] = xmlData.firstChild.childNodes[i].attributes.autor;
                            tytul[i] = xmlData.firstChild.childNodes[i].attributes.tytul;
                            path[i] = xmlData.firstChild.childNodes[i].attributes.path;
                            loader_mc._visible = true;
                            muzyka.loadSound(path[number], true);
                           
                            trace(muzyka.getBytesLoaded());
                            zaladowano = muzyka.getBytesLoaded();
                            total = muzyka.getBytesTotal();
                            success = "false";
                            muzyka.onLoad(success = "true");
                            if(success == "true") {
                            loader_mc._visible = false;
                            pole = autor[0]+" - "+tytul[0];
                            muzyka.start();
                            dopasowanie();
                            }
                    }
            } else {
                    trace("błąd z plikiem");
            }
    }

    pause_mc.onRelease = function() {
            if (stan == "play") {
                    pause_resume = muzyka.position;
            muzyka.stop();
            stan = "pause";
            }
    }

    play_mc.onRelease = function() {
            if (stan == "pause") {
                    muzyka.start(pause_resume / 1000);
            stan = "play";
            }
    }

    next_mc.onRelease = function() {
            if (number <= id.length-2) {
                    muzyka.loadSound(path[++number], true);
            muzyka.start();
                    pole = autor[number]+" - "+tytul[number];
                    dopasowanie();
            }else{
            }
    }

    prev_mc.onRelease = function() {
            if (number != 0) {
                    muzyka.loadSound(path[--number], true);
            muzyka.start();
                    pole = autor[number]+" - "+tytul[number];
                    dopasowanie();
            }else{
                   
            }
    }




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors