• User

    10 audio mp3 in filmato flash

    Ho inserito 10 canzoni mp3 (96kbps) in altrettanti fotogrammi del mio filmato flash.
    La riproduzione dei citati files audio avviene attreverso i comportamenti:
    carica audio dalla libreria
    riproduci audio
    interrompi audio

    Ovviamente per ogni fotogramma ci sono due pulsanti; pulsante play e pulsante stop per controllare la riproduzione.

    Tutto funziona alla perfezione,però ho i seguenti problemi:

    1. quando cambio fotogramma l'audio non si interrompe; devo ritornare nel fotogramma interessato e premere il pulsante stop;
    2. se schiaccio il pulsante play mentre il brano è in riproduzione, il brano stesso si carica e si esegue nuovamente sovrapponendosi a quello in esecuzione...
    3. il files swf esportato è di circa 18MB, questo causa un tempo di attesa per il caricamento di circa 30 sec nel mio sito web (fastweb 6 megabit) e 1 minuto circa in quello di alcuni amici con adsl più lenta.

    Vorrei pertanto utilizzare, sempre che sia possibile, la funzione streaming!

    Ho provato ma non funziona!

    Le mie domande sono le seguenti:
    -tengo il filmato così com'è e inserisco nel sito un simbolo di -loading- per avvisare che il filmato è in caricamento?

    -nel caso volessi cimentarmi con lo streaming qualcuno può darmi le giuste indicazioni?
    I miei problemi sono infatti quelli di dare la giusta scrittura del collegamento URL e del concatenamento dei files....

    Qualcuno può aiutarmi?
    Grazie per l'attenzione.
    Gabs


  • Super User

    Ciao gabs e benvenuto nel forum.
    Innanzitutto ti sconsiglio vivamente di lanciare degli swf superiori a 300k perchè ,
    esperienza personale, l'utente medio si stufa a meno che sia davvero interessato e convinto di accedere al tuo sito; per cui 18MB di swf è davvero una tragedia.

    Hai detto bene, lo streaming è la tua soluzione.
    Lo streaming audio con Flash lo gestisci via Actionscript.
    Ti faccio un esempio:

    
    var Tracks:Array=new Array('http://www.miobrano.it','http://www.miobrano2.it','http://www.miobrano3.it',
    						   'http://www.miobrano4.it','http://www.miobrano5.it','http://www.miobrano6.it');
    
    var my_track:Sound;
    play_mc.id=2;
    play_mc.onPress=function():Void
    {
    	my_track.stop();
    	my_track=new Sound();
    	my_track.loadSound(Tracks[this.id],true);
    	my_track.start();
    }
    
    

    Crei un array con gli url dei files audio.

    Crei una variabile di tipo Sound;

    Ad ogni tua MovieClip ( che funge da bottone) gli aggiungi una proprietà (id) come ho fatto io e gli dai il valore dell'indice dell'array dell'url.
    In questo caso per dire a quel bottone che deve riprodurre il file 'http://www.miobrano3.it' gli devi assegnare il numero 2 in quanto è il numero dell'indice dell'array dove è appunto contenuto il valore stringa url di quel brano e come secondo parametro gli passi il valore true che significa che l'audio verrà riprodotto in streaming.

    Assegni un evento alla MovieClip, in questo caso onPress() e:
    -variabile my_track stoppa il sound che avevi caricato (fa niente anche se è la prima volta)
    -istanzi la classe Sound (=new Sound())
    -gli dici di caricare il sound passandogli come url la stringa dell'indice con numero id della tua MovieClip dell'array Tracks.
    -dai il comando start


  • User

    Grazie flashcoder per la risposta.
    Sono un novizio in flash e di actionscript ci capisco poco niente.
    Il file swf in questione lo puoi vedere su [url=http://www.gabrieledigiacinto.com]Le Tracce come Segni sono Sogni nella pagina M-R....aspettando un pò per il caricamento....
    Approfitto della tua gentilezza e ti dico cosa ho fatto più specificatamente circa lo streaming nella speranza che trovi l'errore:

    Ho inserito i pulsanti play e stop;
    ho importato in libreria il file audio mp3 (esempio mr01)
    ho selezionato concatenamento
    come identificatore ho messo mr01
    ho spuntato su importa per condivisione runtime;
    come url ho messo http://gabrieledigiacinto.com/mr.htm
    ho selezionato il pulsante play
    ho aggiunto il comportamento carica audio in streaming
    come url ho messo http://public_html/immagini/mr/mr01
    (è la cartella del server ftp dove sono inseriti i files audio)
    Ovviamente il tutto non funziona...infatti in prova filmato escono errori di actionscript....
    Spero di non averti annoiato.
    Grazie e ciao
    Gabs


  • Super User

    @gabs said:

    Grazie flashcoder per la risposta.
    Sono un novizio in flash e di actionscript ci capisco poco niente.
    Il file swf in questione lo puoi vedere su [url=http://www.gabrieledigiacinto.com]Le Tracce come Segni sono Sogni nella pagina M-R....aspettando un pò per il caricamento....
    Approfitto della tua gentilezza e ti dico cosa ho fatto più specificatamente circa lo streaming nella speranza che trovi l'errore:

    Ho inserito i pulsanti play e stop;
    ho importato in libreria il file audio mp3 (esempio mr01)
    ho selezionato concatenamento
    come identificatore ho messo mr01
    ho spuntato su importa per condivisione runtime;
    come url ho messo http://gabrieledigiacinto.com/mr.htm
    ho selezionato il pulsante play
    ho aggiunto il comportamento carica audio in streaming
    come url ho messo http://public_html/immagini/mr/mr01
    (è la cartella del server ftp dove sono inseriti i files audio)
    Ovviamente il tutto non funziona...infatti in prova filmato escono errori di actionscript....
    Spero di non averti annoiato.
    Grazie e ciao
    Gabs
    Se vuoi l'audio in streaming non mettere i files audio nella libreria perchè altrimenti non serve a niente, il peso rimane uguale.
    Io con Flash faccio tutto via actionscript per cui mi è difficile darti una mano se vuoi cercare di farlo in un altro modo.
    Parti col fare questa cosa:
    seleziona uno dei bottoni play che hai e poi vai nel pannello
    bahaviors, poi clicca sul + del pannello, si apre un menu a tendina e vai in audio, segui load streaming mp3 file e seleziona.
    Adesso li ti chiede di inserire l'url del file audio.

    A piccoli passi forse ce la facciamo...


  • User

    Flashcoder, lo dicevo che sei un gran manico.
    Ho trovato la persona giusta, spero solo di non annoiarti con i miei problemi.
    Grazie di cuore per la cortese disponibilità verso un pivello.

    Ho fatto come dicevi.
    Ho creato per semplicità una pagina vuota dove ho inserito 2 pulsanti play e stop;
    con i comportamenti ho dato i comandi e ti riporto di seguito i relativi codici actionscript.

    PULSANTE PLAY:


    on (release) {

    //Load Streaming mp3 behavior
    if(_global.Behaviors == null)_global.Behaviors = {};
    if(_global.Behaviors.Sound == null)_global.Behaviors.Sound = {};
    if(typeof this.createEmptyMovieClip == 'undefined'){
    	this._parent.createEmptyMovieClip('BS_http://www.gabrieledigiacinto.com/mr01.mp3',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
    	_global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3 = new Sound(this._parent.BS_http://www.gabrieledigiacinto.com/mr01.mp3);
    } else {
    	this.createEmptyMovieClip('_http://www.gabrieledigiacinto.com/mr01.mp3_',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
    	_global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3 = new Sound(this.BS_http://www.gabrieledigiacinto.com/mr01.mp3);
    }
    _global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3.loadSound("http://www.gabrieledigiacinto.com/mr01.mp3",true);
    
    
    // Play Sound Behavior
    _global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3.start(0,1);
    // End Play Sound Behavior
    

    }


    PULSANTE STOP


    on (release) {

    //Stop Sound Behavior
    _global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3.stop("http://www.gabrieledigiacinto.com/mr01.mp3");
    

    }


    IL MESSAGGIO D'ERRORE:


    Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 5: Errore di sintassi.
    _global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3.stop("http://www.gabrieledigiacinto.com/mr01.mp3");

    Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 7: Rilevato '}' imprevisto
    }

    Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 9: Errore di sintassi.
    _global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3 = new Sound(this._parent.BS_http://www.gabrieledigiacinto.com/mr01.mp3);

    Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 10: Rilevato 'else' senza corrispondente 'if'
    } else {

    Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 12: Errore di sintassi.
    _global.Behaviors.Sound.http://www.gabrieledigiacinto.com/mr01.mp3 = new Sound(this.BS_http://www.gabrieledigiacinto.com/mr01.mp3);

    Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 10: L'istruzione deve apparire all'interno del gestore on
    } else {

    Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 13: Rilevato '}' imprevisto
    }

    Totale errori ActionScript: 7 Errori segnalati: 7


    Evidentemente, dico io nella mia incommensurabile ignoranza, è sbagliata la scrittura dell' URL...
    Rimango in trepidante attesa, io son un accanito e voglio imparare...
    Grazie ancora e ciao.
    Gabs


  • Super User

    Sono errori si sintassi, prova a ridare il comportamento al bottone utilizzando il pannello behaviors e non toccare il codice.


  • User

    @flashcoder.it said:

    Sono errori si sintassi, prova a ridare il comportamento al bottone utilizzando il pannello behaviors e non toccare il codice.


    Ciao Flashcoder(Filippo)
    Mi serve il tuo aiuto perchè credo di essere vicino alla soluzione.
    I miei files dal server ftp li vedo nel browser con questi collegamenti
    File audio 1:
    [URL="ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01.mp3"]ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01.mp3
    File swf:
    [URL="ftp://[email protected]:[email protected]/public_html/immagini/mr/fla.swf"]ftp://[email protected]:[email protected]/public_html/immagini/mr/fla.swf
    Ovviamente ho qui omesso la password per il collegamento.

    Ho provato a rifare i comportamenti dei bottoni nella nuova paginetta flash con l'importazione audio in streaming e appare il seguente errore:

    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 12: Errore di sintassi.
    _global.Behaviors.Sound.[URL="ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01"]ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01 = new Sound(this._parent.BS_ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01);
    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 13: Rilevato 'else' senza corrispondente 'if'
    } else {
    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 15: Errore di sintassi.
    _global.Behaviors.Sound.[URL="ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01"]ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01 = new Sound(this.BS_ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01);
    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 13: L'istruzione deve apparire all'interno del gestore on
    } else {
    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 16: Rilevato '}' imprevisto
    }
    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 5: Errore di sintassi.
    _global.Behaviors.Sound.ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01.mp3.stop("[URL="ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01.mp3"]ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01.mp3");
    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 9: L'istruzione deve apparire all'interno del gestore on
    _global.Behaviors.Sound.mr01.mp3.stop("[URL="ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01.mp3"]ftp://[email protected]:[email protected]/public_html/immagini/mr/mr01.mp3");
    Errore Scena=Scena 1, livello=percorso, fotogramma=4:Linea 10: Rilevato '}' imprevisto
    }
    Totale errori ActionScript: 8 Errori segnalati: 8
    def.swf Rapporto filmato

    Fotogramma # Fotogramma byte Totale byte Scena


    1 542 542 Scena 1 (Fotogramma di esportazione delle classi AS 2.0)
    2 570 1112
    3 209516 210628
    4 293720 504348
    5 8279 512627
    6 2409 515036
    7 2438 517474
    8 2727 520201
    9 2430 522631
    10 3050 525681
    11 1986 527667
    12 1708 529375
    13 2623 531998
    Scena Forma byte Testo byte ActionScript byte


    Scena 1 13824 7392 299
    Simbolo Forma byte Testo byte ActionScript byte


    Simbolo 33 1516 0 0
    tra 2857 0 0
    via 2290 0 0
    lun 1824 0 0
    rep 2766 0 0
    inn 1290 0 0
    sco 2751 0 0
    res 2518 0 0
    vir 1827 0 0
    tuf 2542 0 0
    int 367 0 0
    ind-occ 68 0 0
    indietro 68 0 0
    avanti 68 0 0
    occ 37 0 0
    rounded grey center playback 107 0 0
    play01 54 0 0
    stop01 1184 0 0
    Nome del carattere byte Caratteri


    Courier New Grassetto 5812 ',.02ABCDEFGHILMNOPQRSTUVZÀÈÒÙ?
    Arial 30
    ActionScript byte Posizione


    2 Scena 1:percorso:1
    6 Scena 1:tasti:1:Non è stato assegnato un nome istanza(avanti)
    6 Scena 1:tasti:2:Non è stato assegnato un nome istanza(indietro)
    10 Scena 1:tasti:3:Non è stato assegnato un nome istanza(ind-occ)
    10 Scena 1:intro:3:Non è stato assegnato un nome istanza(int)
    10 Scena 1:tuffate:3:Non è stato assegnato un nome istanza(tuf)
    10 Scena 1:virus:3:Non è stato assegnato un nome istanza(vir)
    10 Scena 1:respiri:3:Non è stato assegnato un nome istanza(res)
    10 Scena 1:sconfitto:3:Non è stato assegnato un nome istanza(sco)
    10 Scena 1:innamorato:3:Non è stato assegnato un nome istanza(inn)
    10 Scena 1:replica:3:Non è stato assegnato un nome istanza(rep)
    10 Scena 1:lunghi:3:Non è stato assegnato un nome istanza(lun)
    10 Scena 1:viaggi:3:Non è stato assegnato un nome istanza(via)
    10 Scena 1:traslucido:3:Non è stato assegnato un nome istanza(tra)
    10 Scena 1:titoli-tasti:4:Non è stato assegnato un nome istanza(occ)
    165 Scena 1:pag-tuf:5:Non è stato assegnato un nome istanza(Simbolo 33)
    Bitmap Compresso Compressione


    occhio 187514 5420032 Qualità JPEG=100
    occhio 186934 5420032 Qualità JPEG=100
    occhio-ch 104157 5420032 Qualità JPEG=100


  • Super User

    Pensa che con quelle 10 righe di codice che ti avevo dato potevi fare tutto.

    Adesso è un gran casino ed in più il codice che attacchi è quello che Flash crea al tuo posto mentre utilizzi l'interfaccia e fa pure cacare.

    Non capisco perchè ti dà errori di sintassi, sono i più banali e li sta facendo lui.
    O stai maneggiando il codice che scrive ?


  • User

    @flashcoder.it said:

    Pensa che con quelle 10 righe di codice che ti avevo dato potevi fare tutto.

    Adesso è un gran casino ed in più il codice che attacchi è quello che Flash crea al tuo posto mentre utilizzi l'interfaccia e fa pure cacare.

    Non capisco perchè ti dà errori di sintassi, sono i più banali e li sta facendo lui.
    O stai maneggiando il codice che scrive ?


    Flashcoder
    Hai ragione, è un gran casino e non ci capisco più niente.
    Tu programmi in actionscript e io no perchè non conosco il linguaggio; uso i comandi nel menu del programma....
    La realtà è che non so che collegamento url devo dare per lo streaming dei files audio!
    Quindi anche ammesso che riesco a usare il tuo codice non so che fare...
    Ho provato in tutte le salse ma non funziona.
    Farò altre prove a mente più fresca; studierò di più.
    Intanto ti ringrazio per l'attenzione che mi hai riservato, sei davvero gentile e disponibile.
    Ciao
    Gabs:)


  • Super User

    Hai la password nella cartella dove tieni i files audio?


  • User

    @flashcoder.it said:

    Hai la password nella cartella dove tieni i files audio?


    Flashcoder
    Sì, il server ftp dove c'è la cartella in questione ha una password d'accesso con username come usualmente prevedono i fornitori di questo servizio.
    Ciao
    Gabs


  • Super User

    Prova a toglierla, tanto riproducendo l'audioin streaming se l'utente vuole e ci sà fare anche un minimo, è in grado di prenderlo dalla cache del suo PC.
    Poi prova ad inerire nel pannello behaviors l'url senza password.