- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Audio on/off
-
Audio on/off
Ciao a tutti!
In una animazione flash devo inserire un sottofondo musicale dando la possibilità al visitatore di arrestare e fare ripartire (dallo stesso punto in cui è stato arrestato) il suono con un unico pulsante (il classico audio On/Off).
Meglio con un unico pulsante, ma va bene anche con 2 pulsanti, uno per ON e uno per OFF.
Si trovano varie spiegazioni e tutorial nella rete, ma nessuna valida, o meglio che spieghi di preciso questo tipo di pulsante.
Ancora meglio, ma non indispensabile, se il file audio è incorporato nel filmato, così lo carica tutto subito e non si rischia che parta l'animazione grafica prima dell'audio.
Grazie a tutti in anticipo, come la solito...
-
Ciao iam benvenuto nel forum gt, per interrompere e far ripartire la musica con un unico pulsante procedi così: crea due livelli nel primo frame del primo livello metti questo codice che fara partire la musica all'avvio del filmato:
Suono = new Sound ();
Suono.loadSound("nome_brano.mp3",true);
Suono.onSoundComplete = function () {
Suono.loadSound("nome_brano", true);
}
nel livello superiore metti il tuo pulsante e dagli nome istanza mio_pulsante e nel frame copia questo codice:
var flag = false;
mio_pulsante.onRelease = function() {
if (flag) {
Suono.loadSound("nome_brano.mp3",true);} else { Suono.loadSound("nome_brano.mp3",false); } flag = !flag;
};
-
Grazie! Adesso è possibile azionare e stoppare il brano con un unico pulsante.
Ma la cosa più importante di cui necessito è un'altra, come si può vedere nel sito Ram Challenge (comando in basso a destra)
ramchallenge.yahoo.com
Quindi la possibilità di arrestare e fare ripartire la musica (dallo stesso punto in cui è stato arrestata).Un'altra soluzione protrebbe essere che, con un pulsante portiamo l'audio a zero, e con l'altro lo riattiviamo al 100 % (o con lo stesso pusante). Il risultato sarebbe il medesimo dell'on/off.
E anche se il brano continua va bene, purché quando riclicco non cominci da capo...
-
Sostituisci il codice precedente con questo per azzerare e rissollevare il volume:
loop = new Sound(suono);
var flag = false;
mio_pulsante.onRelease = function() {
if (flag) {
loop.setVolume(100);
} else {loop.setVolume(0); } flag = !flag;
};
-
Con questo codice invece dai lo stop e riparte esattamente dallo stesso punto:
var flag = false;
mio_pulsante.onRelease = function() {
if (flag) {Suono.start(Suono.position/1000,999); } else { Suono.stop(); } flag = !flag;
};
-
Fantastico!
E cambiando false/true si può decidere se riprodurre la musica in loop o una volta sola.
Quello con il volume che si azzera e che ritorna al massimo è ottimo per un intro, in cui la musica deve essere sempre coordinata con l'animazione, il secondo, che stoppa la musica e la fa ripartire dallo stesso punto va bene per l'audio di sottofonto del sito.