ho creato un preloader, mi ricordavo intanto che se nel filmato è presente un file audio è necessario creare un preloader parallelo.
Me lo confermate?
Come lo creo?
ho creato un preloader, mi ricordavo intanto che se nel filmato è presente un file audio è necessario creare un preloader parallelo.
Me lo confermate?
Come lo creo?
In realtà è la stessa cosa, in quanto il tempo impiegato da due preloader è lo stesso che ne impiega uno ed unico, per tutto.
Se invece il suono si trova in un file esterno e il caricamento è nel primo frame, non occorre nemmeno segnalare il caricamento (nessun preloader per l'swf del suono), poiché... "quando è pronto lo senti".
Si gioca sulla psicologia e ti assicuro che vedere prima: "Caricamento in corso" e dopo "Loading sound" provoca un vaffa istintivo, specialmente per chi viaggia lento.
![]()
NAP
A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)
dato che voglio poter abilitare e disabilitare il suono dovrei caricarlo in una variabile con il metodo new Sound();
giusto?
ma dopo aver fatto questo (e lo faccio nel primo frame) e aver fatto loadSound("suono_da_Caricare"); (sempre nel primo frame)
come stabilisco il caricamento?
cioe:
sound = new sound();
sound.loadSound("suono_Da_caricare");
if(sound.getByteLoaded == sound.getByteTotal) //vai avanti
è così che funziona?
Poi ho notato un'altra cosa:
Se voglio definire il loop del suono il metodo migliore e quello di trascinare il suono nello stage e impostare ciclo nelle proprieta, ma purtroppo da li non posso gestiore il on/off dell'audio.
L'altra soluzione è utilizzare onSoundComplete ma questa funzione interviene qualche decimo di secondo dopo la fine della ripodzuione del file audio e quindi si sente un salto tra la fine e l'inizio della ripetizione...
Esiste qualche altro metodo?
C'è da chiarire innanzitutto se il suono è un brano lungo oppure un trancio di pochi secondi che deve girare in loop. Nel caso della seconda ipotesi non occorrerebbe nemmeno caricarlo esternamente come swf e cmq non è indicato l'uso del loadSound.
Il caricamento di un brano lungo (parlo di un file mp3), è invece adatto per via dello streaming e dunque non richiede alcun preloader.
Per caricarlo:
suono = new sound();
suono.loadSound("suono_Da_caricare.mp3", true);
Per fermarlo, basta un pulsante che inverta il true:
on (release) {
suono = false;
}
Se metti due pulsanti in un movieclip (Play e Stop, due soli frames stoppati), puoi usare l'on (press) per il carica/scarica e l'on (release) per rimandare la testina nel frame in cui c'è il pulsante opposto.
Es. di pulsante Play (messo nel frame n° 2 del movieclip):
on (press) {
suono = new sound();
suono.loadSound("suono_Da_caricare.mp3", true);
}
on (release) {
this.gotoAndPlay (1); // compare il pulsante Stop
}
Pulsante Stop:
on (press) {
suono = false;
}
on (release) {
this.gotoAndPlay (2); // ricompare il pulsante Play
}
Per quanto riguarda l'onSoundComplete o lo start (0, nVolte), usato allo scopo di loopare l'mp3 caricato, non è colpa di Flash ma della struttura propria di qualunque file.mp3, dato che conterrà sempre una coda di silenzio sia all'inizio che alla fine, direttamente proporzionali alla durata del brano stesso.
Quindi, chi crede di loopare un mp3 col loadSound, oppure con un mp3 importato, si veste di "pia illusione". Ecco perché definisco quell'operazione come "reinizializzazione" e non "loop".
Affinché non si crei alcun silenzio occorre importare un file .wav che sia tagliato "a mestiere".
Ciao,
NAP
A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)
tu dici che con il file mp3 c'è sempre un filo di silenzio all'inizio e alla fine mentre nel wave è possibile ritagliarlo?![]()
Non hai risposto alla mia domanda fra le righe. Mi dici cosa vuoi caricare? Un file corto o un file di lunga durata?
"tu dici che con il file mp3 c'è sempre un filo di silenzio all'inizio e alla fine mentre nel wave è possibile ritagliarlo?"
Non è che "io dico"... si tratta di una realtà per chi conosce la tecnologia mp3.
L'mp3 non è un'estensione nativa ma un processo di compressione attuato tramite il taglio delle armoniche inudibili. L'orecchio umano è in grado di percepire le frequenze che vanno da 16 Hz fino a 22.000 Hz. Un file mp3 si ricava sempre da un file.wav, se buono a 44.100 Hz di frequenza di campionamento.
Un file.wav invece rappresenta la vera campionatura (digitalizzazione), e quindi la vera scrittura di un file che contiene tutte le caratteristiche del suono, millisecondo per millisecondo.
Il risultato è che un file wav non ha mai nessuna coda di silenzio, a meno che non l'abbia inserita/e l'autore del brano stesso o cmq la persona che ha ricavato il trancio utile. Se ci sono le code, è anche ovvio che si possano eliminare. La stessa cosa non vale per un mp3 in quanto dopo aver tagliato le code, al nuovo salvataggio (sempre in mp3), se ne creano altre due, nuove. Se insisti, le code nuove si sostituiscono a parti musicali utili e dunque il problema diventa doppio: silenzi + parti di audio utile mancanti.
Quando importi un file.wav in Flash, è vero che lo comprimi in mp3 ma la compressione avviene in tempo reale, non in modo permanente come avviene con gli editor di suoni. Ecco perché importando un file.wav si ottiene un loop perfetto.
NAP
A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)