• User

    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...


  • Super User

    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;
    

    };


  • User

    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...


  • Super User

    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;
    

    };


  • Super User

    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;
    

    };


  • User

    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.