- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Problema con il loading
-
Problema con il loading
Ciao,
per esigenze particolari ho dovuto realizzare un'interfaccia con un file audio mp3 incorporato.
Il punto è che ho realizzato un loading ma devo aver "cannato" qualcosa come al solito...
infatti il loading con barra di avanzamento e percentuale parte solo dopo il 55%, in pratica proprio dopo un caricamento di kb pari al peso dell'mp3! E' come se caricasse prima l'mp3 e poi la schermata del loading... e in tutto ciò all'inizio per qualche secondo si vede un anonimo colore di sfondo...nel caso qualcuno avesse o consigli o soluzioni vi posto il codice:
nel primo fotogramma (as)
stop();
_root.createEmptyMovieClip("clipBase", 100);
base = new Sound(_root.clipBase);
base.attachSound("stile");
base.start(0, 99999);
this.replay._visible = false;sulla barra di avanzamento del loading
onClipEvent (enterFrame) {
_parent.pesoTotale = Math.round(_parent.getBytesTotal()/1024);
_parent.pesoScaricato = Math.round(_parent.getBytesLoaded()/1024);
if (_parent.pesoScaricato == _parent.pesoTotale) {
_parent.gotoAndStop("evento");
}
_parent.percentuale = Math.round((100*_parent.pesoScaricato)/_parent.pesoTotale)+"%";
this._xscale = (100*_parent.pesoScaricato)/_parent.pesoTotale;
}Ciao e grazie
Ale
-
Ciao Ale,
il problema è dato da attachSound();
Questo metodo, come attachMovie(), non permette il monitoraggio dei bytes.
Nel senso che quando l'swf viena lanciato,Flash per prima cosa carica il sound dalla libreria, sostanzialmente lo istanzia.Prova ad istanziare il file audio sullo stage.
Togli attachMovie() e se necessiti di comandarlo via AS puoi sempre farlo richiamando l'istanza Sound che hai trascinato sullo stage.
-
Grazie, ma come faccio ad istanziare il file audio sullo stage?
poi posso gestirlo tramite as?
-
Trascinalo dalla libreria allo Stage.
Gli assegni un nome e poi lo puoi richiamare con AS usando quel nome e assegnandoli i metodi che ti servono della classe Sound come avevi fatto.
-
lol il forum è impazzito?
-
provo!
grazie mille!
-
Ho provato!
Così però ottengo che praticamente l'mp3 si spalma su tutta la striscia temporale... diventa un pò incontrollabile!
-
l'unico modo che hai per poter monitorare anche i suoi bytes è quello.
A meno che lo riproduci in streaming, e allora è tutto un altro andare...Oppure prova a metterlo all'interno di una movieclip vuota.
-
ho risolto lasciando il file mp3 esterno...
stop();
_root.createEmptyMovieClip("clipBase", 100);
base = new Sound(_root.clipBase);
base.loadSound("http://www.fondoambiente.it/news/Newsletter/ale/FlycatStileOK.mp3");
base.start(0, 99999);
this.replay._visible = false;
varAudio = true;però non parte in automatico l'audio, pur avendo messo start!
sta cosa non mi torna...
ma per fare lo streaming?grazie in anticipo per le risposte e i consigli!
-
Per riprodurlo in streaming ci sei quasi, aggiungi true quì:
base.loadSound("http://www.fondoambiente.it/news/Newsletter/ale/FlycatStileOK.mp3",true);
-
è vero, ecco dov'era il comando...
ma secondo te è normale che non parta in automatico?
-
Ho provato utilizzando questa sintassi e funziona:
var s:Sound=new Sound(); s.loadSound('http://www.fondoambiente.it/news/Newsletter/ale/FlycatStileOK.mp3',true); s.start(0,99999);
clipBase non ti serve più
-
Bella idea!
Ma poi lo richiamo semplicemente chiamandolo "s", giusto?
Ti ringrazio molto,Ale
-
Si, lo chiami sempre s e gli assegni i metodi della classe Sound per dare i comandi che ti servono
-
Funziona!
Grazie mille!