Flash: play e stop sound

Di: Combà | 26/09/2020 18:30:22
Ciao a tutti, ho un problema: ho creato un pulsante a cui ho associato la funzione di stoppare il sound, allo stesso pulsante vorrei associare anche la funzione play sound ma se inserisco le due funzioni insieme non fuziona nulla. Inoltre sarebbe possibile cambiare la forma del pulsante rispettivamente nella posizione play e stop?

Risposte



Partendo dal presupposto che utilizzi l'oggeto sound per gestire l'audio, devi creare il tuo pulsante con i due stati, play e pausa.
Per questo puoi utilizzare un MC di due frame, sul primo metti lo stato play sul secondo lo stato pausa, infine su un secondo livello metti lo stop(); e lo estendi per i 2 frame (livello azioni).
Abbiamo creato il tuo pulsante, adesso non resta che assciargli le azioni necessarie:
on (press) {
flag = !flag;
if (flag) {
_root.sounds.stop();
this.gotoAndStop(2);
} else {
_root.sounds.start(0,999999999);
this.gotoAndStop(1);
}
}
Dato che ti ho già risposto per il fade, lo script si ricollega al precedente.

Di: goku | 26/09/2020 18:31:22


Ciao Goku , ho risolto tutti i miei problemi trasformando il file audio in oggetto sound, poi come hai detto tu ho realizzato il MC e il gioco è fatto!!!
Grazie ancora...la questione del fade out ancora non la riesco a risolvere, ad esempio in questo caso se volessi bloccare il sound in maniera non netta ma con un piccolo fade out cosa devo cambiare nello script?
CIAO....

Di: Combà | 26/09/2020 18:31:22


Ma il fade non ti serviva per il cambio di sezione?
Il fade vuoi farlo attraverso il pulsante appena creato, invece dello stop vuoi il fade?
Se è cosi basta apportare una piccola modifica nello script del fade, metti 0 al posto di 10 nell'istruzione if..
mentre al pulsante associa questo script:
on (press) {
flag = !flag;
if (flag) {
_root.fade();
this.gotoAndStop(2);
} else {
_root.sounds.setVolume(100);
_root.sounds.start(0,999999999);
this.gotoAndStop(1);
}
}
Ovviamente devi creare la funzione fade(); che trovi nell’altro post.
http://www.001design.it/forum_italiano/thread.php?id=1811

Di: goku | 26/09/2020 18:31:22


Ciao Goku, ho notato un fatto assai strano ti spiego: ho realizzato due file identici uno con l'oggeto sound e l'altro inserendo il sound all'interno di un MC vuoto. Risultato: nel primo caso funziona tutto perfettamente, sono riuscito a fare il tasto on/off da tue indicazioni e il file pubblicato pesa circa 375Kb, nell'altro caso non sono riuscito ad inserire un unico tasto on/off poichè bisogna dare questa funzione per stoppare o riavviare la musica:
on (press) {
audio.stop(oppure)play();
}
Data la mia poca esperienza in flash non sono riuscito a trovare una soluzione!!!
La cosa sconvolgente è che con questo metodo del Mc vuoto alla fine dei conti il file pubblicato pesa molto meno ovvero circa 100 Kb in meno!!!
Come è possibile?
Cosa mi consigli di adottare come sistema???

Di: Combà | 26/09/2020 18:31:22


Non è strano, è normale, sono 2 cose completamente divesre, seguendo il mio suggerimento, per diminuire le dimensione del tuo swf, devi andare nella libreria, cliccare con il tasto destro sul file audio andare nelle proprietà e settarne la qualità.
Nel secondo caso tu non controlli l'oeggetto sound con tutte le sue proprietà specifiche, ma un MC che non dispone delle proprietà che servono a te, tipo volume ecc.

Di: goku | 26/09/2020 18:32:22


capisco...con il metodo Mc il sound perde e automaticamente pesa di meno il file!!!
Inoltre mi succede una cosa stranissima: pubblicando il file ottenuto con l'oggetto sound, la musica misteriosamente non si sente!? Sul mio pc funziona fino a quando provo il file singolarmente mentre una volta che pubblico su internet oppure provo tutto il sito, il sound non viene caricato...immagino che dipenda dal fatto che alla pagina con il sound ci si accede cliccando un tasto dalla home page? COme si può ovviare a questo problema?
Ciao e grazie per i tuoi consigli preziosi!

Di: Combà | 26/09/2020 18:32:22


Credo dipenda dai percorsi, gli script che ti ho postato si riferiscono alla root che nel tuo caso è il file principale e non quello dove si trovano appunto tutti gli script, o provi a cambiare i percorsi in base al tuo movie oppure metti il tutto sul file principale, fai prima.

Di: goku | 26/09/2020 18:32:22


mettere il file sul file principale sarebbe controproducente poichè questo file pesa molto e ha un suo loading...diciamo che sto nel caos più totale...
Come li cambio i percorsi di base? non mi odiare...
non ho idea di come si fa!

Di: Combà | 26/09/2020 18:32:22


A prescindere dal fatto che l'audio dovrebbe sentirsi comunque, perché se i percorsi sono sbagliati non dovrebbero funzionare i comandi, dipende da come è strutturato il tuo movie, cmq credo che dovrebbe bastare sostituire _root. con _parent. nello script sul pulsante, mentre nello script con l'oggetto sound, basta sostituire _root. con this.
Secondo me sbagli qualcos'altro, utilizzi il comando loadMovieNum("tuo_file_audio.swf", n° livello);

Di: goku | 26/09/2020 18:32:22


penso l'errore sia proprio qui:
posizione = 0;
brano = function (br) {
sounds.stop();
sounds = new Sound();
sounds.attachSound(br);
sounds.start(0, 9999);
sounds.setVolume(100);
};
brano("brano1");
Io ho inserito questo di script per l'oggetto sound al primo frame della linea temporale del file...
Me ne sono accorto poichè tu dici di sostituire _root. con this. che non sono presenti nello script...qual'è lo script giusto?

Di: Combà | 26/09/2020 18:33:22


Lo script a cui mi riferivo è quello presente nel post dove chiedi del fade, ti ho detto di guardare il link perché ci sono le istruzioni necessarie. Cancella lo script che hai appena postato e usa l’altro.
http://www.001design.it/forum_italiano/thread.php?id=1811

Di: goku | 26/09/2020 18:33:22


this.createEmptyMovieClip("brano1", 10);
dec=10;
sounds = new Sound(brano1);
sounds.attachSound("br");
sounds.setVolume(100);
sounds.start(0, 9999);
fade = function () {
this.onEnterFrame = function() {
vol = _root.sounds.getVolume();
if (vol>10) {
_root.sounds.setVolume(vol-dec);
} else {
this.onEnterFrame = null;
}
};
};
....in cosa sbaglio? prima si sentiva il sound sul file adesso nemmeno quello...

Di: Combà | 26/09/2020 18:33:22


Con quale nome hai concatenato il file audio nella libreria?
Per funzionare il nome deve essere "br", tu invece credo l'abbia concatenato con il nome "brano1".

Di: goku | 26/09/2020 18:33:22


Grazie infinite...

Di: Combà | 26/09/2020 18:33:22


Goku l’ultimo enigma: in pratica il mio file è composto da 5 frame il sound si attiva al primo frame. Navigando tra i vari frame succede questa cosa: quando torni con le freccie di navigazione al primo frame riparte la musica che si sovrappone accavallandosi a quella di sottofondo...

Di: Combà | 26/09/2020 18:33:22


Risolto in questo modo: ho messo uno stopAllSounds(); al tasto che porta al primo frame!
Grazie ancora

Di: Combà | 26/09/2020 18:33:22

sos Audio per puzzle

Sto facendo un puzzle con sei pezzi come posso fare a funzionare questo puzzle che alla fine se i sei pezzi sono al loro posto giusto deve fare partire un suono? Bisogna per forza usare le "dropzone" o no? Vorrei avere una risposta.

Di: Belva | 26/09/2020 18:33:22


Ci sono tantissimi modi per farlo,
molto dipende da come hai impostato il tuo movie.
Per esempio, per verificare che ogni singolo elemento del tuo puzzle si trovi nella giusta posizione avrai di sicuro usato degli IF, quindi una soluzione veramente banale potrebbe essere quella di incrementare una variabile ogni volta che la condizione è verificata, metti un pezzo nel posto giusto e incrementi la variabile di 1, quanto questa raggiunge il valore 6 (perché 6 sono gli elementi del puzzle) allora fai partite l'audio.
Più semplice di così!

Di: goku | 26/09/2020 18:33:22