Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    preload a barra di file mp3 esterno

    Ciao a tutti,
    il problema che vi pongo è questo:
    sto costruendo un lettore di brani mp3 per un mio sito che sarà pubblicato in questi giorni. Devo fare il preloader(con barra e percentuale) ai file mp3 e non so proprio come costruirlo, senza che questi siano a loro volta inseriti in un swf.
    il file mp3 viene richiamato da un pulsante e controllato con altri 2 pulsanti "play" e "stop", funziona tutto ma non riesco ad inserirci un preloader.
    Qualcuno può essere così cortese da indicarmi la retta via per il codice o un link ad un sorgente di esempio?
    Grazie mille in anticipo!!!

  2. #2
    Ma il file lo richiami con loadSound("suono.mp3",false) ?
    Nel qual caso basta usare getBytesTotal() e getBytesLoaded()

  3. #3
    sul pulsante che fa partire il suono c'è:

    on (press) {
    if(_root.controllo=true) {
    _root.mc.suonoBrani.start(0,999);
    }
    }


    mentre nel movie clip con nome di istanza "mcAudio" che richiama il file mp3 c'è:

    onClipEvent (load) {
    suonoBrani=new Sound();
    suonoBrani.loadSound("audio/mp3/brano.mp3", false);
    _root.stop();
    }

    onClipEvent (enterFrame) {
    caricati=suonoBrani.getBytesLoaded()
    totali=suonoBrani.getBytesTotal()
    if(caricati!=undefined){
    if (caricati==totali) {
    _root.controllo=true;
    } else {
    _root.testo="sto caricando...";
    }
    }
    }

    dove testo è il nome della variabile di un campo di txt dinamico sulla timeline principale che deve visualizzare la scritta "sto caricando...", ma non vedo neanche questa. Inoltre vorrei metterci anche la barra e la vera percentuale (logicamente dentro un campo di txt dinamico) di avanzamento.
    Grazie per ora per la risposta, credo che sia un problema non da poco perchè non ho trovato niente sull'argomento.

  4. #4
    Strano, thread sull'argomento dovrebbero essercene
    Ma non vedi niente quando provi in locale? Nel qual caso è normale perchè il file viene caricato praticamente subito.
    Se invece hai provato anche online, potrebbe esserci un problema di percorsi.

    Ah, sul pulsante

    if(_root.controllo=true) {

    E' sbagliato, o usi

    if(_root.controllo) {

    oppure

    if(_root.controllo==true) {


    ma come è scritto è sempre vera, perchè = è operatore di assegnazione e non di uguaglianza
    Tra l'altro potrebbe essere un problema di percorsi, fai un trace dei caricati e dei totali, se non da i valori giusti prova a usare _root.suonoBrani.getBytesLoaded() (idem per total)

  5. #5
    Scusa se ieri sera non ti ho risposto ma sono dovuto uscire per forza di casa.
    Hai ragione sullla variabile controllo, è che quello che ho postato è un esempio al volo, giusto per creare un esempio, il file reale è decisamente più complesso....ma la sostanza non cambia.
    Il suono sia in locale che sul web si sente, per quello non c'è problema, l'unica cosa è che non riesco a visualizzare una qualsiasi forma di preloading, se non falso!!!
    Comunque non riesco proprio a trovare niente sul caricamento di mp3 esterni con preloading, se non files swf e basta che non mi servono a niente se non vedo il codice e l'impostazione.
    Tu sai dove possa esserci un sorgente? :master:
    Grazie ancora scusami di nuovo per la lentezza nella risposta...stamani sono al lavoro e sto facendo tutto di soppiatto!
    Oggi pomeriggio sarò più presente.

  6. #6
    Ripeto, fai intanto un controllo sul getBytesLoaded() e sul getBytesTotal() e vedi cosa ti restituisce

  7. #7
    ok ora funziona!
    il codice che va è questo dentro il mc che carica il suono:

    onClipEvent (load) {
    suonoBrani=new Sound(); //creo l'oggetto suonoBrani
    //carico il brano mp3 dentro l'oggetto
    suonoBrani.loadSound("audio/mp3/brano.mp3", false);
    //setto la larghezza della barra percentuale di preload a zero _root.barra._xscale=0;
    }

    onClipEvent (enterFrame) {
    caricati=suonoBrani.getBytesLoaded();
    totali=suonoBrani.getBytesTotal();
    //variabile per ricavare la percentuale arrotondata ai 2 interi
    percentuale=int(caricati/totali*100);
    //faccio vedere la percentuale nel campo di txt
    _root.txtperc=percentuale;
    //faccio muovere la barra del valore della percentuale
    _root.barra._xscale=percentuale;
    _root.testo="sto caricando...";
    if (caricati==totali) {
    _root.controllo=true;
    //nascond la barra
    _root.barra._visible=0;
    //nascondo i campi di testo
    _root.txtperc=" ";
    _root.testo=" ";
    }
    }

    Grazie dell'aiuto, la soluzione era più semplice del previsto....come al solito.
    Grazie ancora.

  8. #8
    Ciao e alla prossima

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.