Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    come fare a cambiare canzone dopo minuti di stop

    salve a tutti
    ho un problema con flash
    ho un programma con un file audio. vorrei che dopo dieci minuti che la canzone è finita ne parta un'altra in automatico. qualcuno può aiutarmi??? per favore.. grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao.

    Bhe, innanzitutto dovresti gestire la cosa da script, quindi dovresti aver predisposto un oggetto Sound per eseguire la tua canzone.
    A quel punto puoi utilizzare l'evento onSoundComplete di tale oggetto e "lanciare" quindi un timer che eseguirà la prossima canzone dopo un tot di tempo.

    Una cosa del genere:
    Codice PHP:
    oggettoSound.onSoundComplete = function() {
        
    setTimeout(suonaProssimaCanzone10*1000);
    };
    function 
    suonaProssimaCanzone() {
        
    // qui le azioni per eseguire la prossima canzone

    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Grazie dell'aiuto.. però ho un problema io ho scritto questa actionscript:

    var canzone:Sound = new Sound();
    canzone.attachSound("suono1");
    canzone.onSoundComplete = function() {
    setTimeout(suonaProssimaCanzone, 10*1000);
    };
    function suonaProssimaCanzone() {
    "play"
    }


    ma dopo che la prima canzone finisce l'altra non parte. potresti dirmi cosa ho sbagliato?? grazie 1000

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780

    Quel "play" scritto così non ha significato.
    Dovresti utilizzare nuovamente l'attachSound per includere la seconda canzone e l'apposito metodo start() per avviarne l'esecuzione.

    In effetti dovresti utilizzare lo start anche per la prima canzone. Non capisco infatti come possa avviarsi la prima canzone se non metti lo start.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    dunque .. nella prima canzone ho scritto:

    var musica:Sound = new Sound();
    musica.attachSound("suono");
    musica.start(0, 1);

    e va senza problemi.

    nella seconda ho scritto:

    var canzone:Sound = new Sound();
    canzone.attachSound("suono1");
    suono1.onSoundComplete = function() {
    setTimeout(suonaProssimaCanzone, 10*1000);
    };
    function suonaProssimaCanzone() {
    play();
    }

    ma non funziona.
    la prima canzone parte e la seconda (che dovrebbe partire automaticamente un tot di tempo dopo che la prima è finita) non parte.
    scusa la mia ignoranza ma ho preferito scriverti quello che ho inserito nelle due canzoni per cercare di essere più chiara.
    potresti dirmi dove sbaglio? grazie grazie grazie

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ok..
    Teoricamente potresti utilizzare un solo oggetto Sound.

    Prova così:
    Codice PHP:
    // creo l'oggetto musica
    var musica:Sound = new Sound();
    // applico la prima canzone all'oggetto musica
    musica.attachSound("suono");
    // avvio l'esecuzione della canzone contenuta nell'oggetto musica
    musica.start(01);
    // quando la canzone dell'oggetto musica è completa
    musica.onSoundComplete = function() {
        
    // attivo un timer che richiama una funzione dopo 10 secondi
        
    setTimeout(suonaProssimaCanzone10*1000);
    };
    // funzione richiamata dal timer
    function suonaProssimaCanzone() {
        
    // applico la seconda canzone allo stesso oggetto musica
        
    musica.attachSound("suono1");
        
    // avvio la canzone appena applicata
        
    musica.start(01);
        
    // elimino l'evento onSoundComplete per fare in modo che la seconda canzone non si ripeta
        
    delete musica.onSoundComplete;

    Ho commentato ogni riga in modo da capire cosa avviene esattamente.
    Il valore nel setTimeout è espresso in millisecondi per cui ho indicato un numero moltiplicato per 1000 per comodità. Se vuoi che duri 10 minuti devi scrivere 600*1000, oppure 600000.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie graziegrazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie graziegrazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie graziegrazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie graziegrazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie graziegrazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie graziegrazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie grazie
    sei stato gentilissimo!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.