Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problema con setVolume()

    Salve io ho un file audio nella line temporale di un movie clip e vorrei potergli settare il volume a mio piacimento.
    Ho provato con il seguente codice :

    sound = new Sound();
    sound.attachSound("matitab");
    sound.setVolume(13);

    ma succede che tutti gli altri file audio presenti negli altri movie clip subiscano lo stesso effetto del file da me concatenato (matitab).

    Grazie

  2. #2
    Penso di aver risolto aggiungendo 'this':

    sound = new Sound(this);
    sound.attachSound("matitab");
    sound.setVolume(73);

    Ciao

  3. #3
    Altro quesito.... come faccio a settare un intervallo di 3 secondi tra la riproduzione di un file e l'altro? ho provato invano con seInterval:

    function musica() {
    song = new Sound();
    song.attachSound("mds");
    song.start(0, 99);
    }
    setInterval(musica, 1000);

    grazie

  4. #4
    come prima cosa devi specificare se ogni pezzo da riprodurre avrà un loop o se inceve si ripeterà solo una volta, poi passeranno 3 secondi e partirà una musica diversa (il loop o una singola riproduzione?)

    Poi, in base a ciò si può fare la funzione.

  5. #5
    no la "canzone" è una sola, è il suono di una macchina da scrivere che si ripete ad intervalli regolari. Infatti il mio scopo è quello di farla ripetere ad intervalli pari a quelli settati dallo script utilizzato per ricreare l'effetto "macchina da scrivere".Qundi il loop dovrà essere settato ad "1".Ho provato varie soluzioni ma inutilmente. Grazie

  6. #6
    prova questo codice:
    codice:
    stop();
    function musica() {
    	song = new Sound();
    	song.attachSound("mds");
    	song.start(0, 1 );
    }
    setInterval(musica, 3000 );
    A me funziona !

  7. #7
    Si per funzionare funziona solo che nn riesco a farlo coincidere perfettamente con le lettere... mi sa che tornerò al metodo precedente ossia un fotogramma una lettera, un pò più elaborioso ma almeno posso associare un suono ad ogni lettera.Volevo velocizzare il movie clip senza dover toccare i f/s ma provando anche quest'ultimo metodo ho visto che più che una macchina da scrivere sembrava una mitragliatrice. Grazie infinite comunque per l'aiuto

  8. #8
    scusami, ma se sei sicuro di quanto tempo passa tra una lettere all'altra allora devi creare una funzione di "passa tempo", che calcoli esattamente i secondi reali.
    setInterval non calcola effettivamente i secondi reali!

    Inoltre bisogna vedere come hai impostato ogni lettera, se cioè la richiami da codice (quindi basterebbe richiamare la funzione del suono ogni volta che viene richiamata la lettera), oppure se le lettere sono sullo stage e l'animazione va avanti per frame.

    E' FONDAMENTALE SAPERE CIO'.

    Cerca di spiegare come è l'animazione.
    Intanto ti scrivo la funzione per far passare esattamente 3 secondi e poi riprodurre il suono:
    codice:
    //FUNZIONE TRASCORRE TEMPO
    var secondi;
    var tempo_max;
    var time_start_game;
    //Funzione che converte i secondi in millisecondi
    function convertSecondiToMillisecondi(secondi) {
    	//Un secondo è equivalente a 1000 millisecondi
    	var milliseconds = secondi*1000;
    	return milliseconds;
    }
    //Funzione per far passare tot secondi
    function passaTempo() {
    	tempo_max = convertSecondiToMillisecondi(secondi);
    	time_start_game = getTimer();
    	var now = getTimer();
    	this.onEnterFrame = function() {
    		var now = getTimer();
    		if ((now-time_start_game)<=tempo_max) {
    			now = getTimer();
    			trace(now-time_start_game);
    		} else {
    			delete this.onEnterFrame;
    			playSound("mds");
    		}
    	};
    }
    //FUNZIONE SUONO
    function playSound(soundID) {
    	soundobject = new Sound();
    	soundobject.attachSound(soundID);
    	soundobject.start(0, 1);
    }
    //dichiaro i secondi
    secondi = 3;
    //richiamo la funzione
    passaTempo();

  9. #9
    allora con il vecchio mc assegnavo ad ogni frame una lettera e un suono.Poi ho trovato in un thread un metodo alternativo a quello da me utilizzato che si basava su questo script:
    this.interval = 100;
    this.startWrite = function(arg) {
    this.stringa = arg;
    this.c = 0;
    this.maxc = this.stringa.length;
    this.writeInt = setInterval(this, "write", this.interval);
    };
    this.write = function() {
    if (this.c < this.maxc) {
    this.testo_txt.text += this.stringa.charAt(this.c++);
    } else {
    clearInterval(this.writeInt);
    song.stop();
    }
    };
    _root.startWrite("Prova Prova Prova Prova Prova");

    Aggiungendo il tuo il suono viene riprodotto una volta e al momento prestabilito.
    Ti ringrazio in anticipo.

  10. #10
    scusami, ma non ho capito bene.
    vuoi inserire il mio codice all'interno di quello che mi hai appena trascritto?
    perdonami, ma non capisco cosa dovrei fare! :master:

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.