Domanda

Ho bisogno di realizzare un lettore multi-track. L'utente può caricare più tracce e mescolare (Giocano insieme). Il mio problema è quello di permettere all'utente di definire una posizione esatta dell'inizio di ogni traccia per consentire una sincronizzazione tra di loro, qualcosa di simile a questo:

Traccia 1:. Inizio alle [x] sec

Traccia 2:. Iniziare a [y] s

play / stop

dove l'utente può impostare il xe y. Ho cercato di realizzarlo con AS2 (utilizzando netstream e setInterval) e AS3 (usando netstream o il suono e timer). Solo se ho impostato lo stesso x e y entrambe le tracce stanno giocando contemporaneamente.

È stato utile?

Soluzione

Si supponga di avere una linea temporale "motore" che ha un orologio interno di qualche tipo. ogni "tick" dell'orologio si verificherà qualche array o vettore che contiene gli oggetti pista e vedere se contiene un oggetto con uno startTime di n zecche dall'inizio della timeline. O forse la sua più efficiente per rendere un vettore di starttimes che esistono nel vettore TrackObjs e verificare che, quindi se uno viene trovato eseguire il vettore TrackObjs e ottenere tutto l'audio che deve essere avviato in quel momento.

Ecco le zecche potrebbe essere secondi, 10ths, millisecondi, qualsiasi cosa. vedi classi http://as3.casalib.org/docs/ org.casalib.time per framebased cronometraggio

class Track() {
  var startTime:int;
  var trackName:String;
  var fileName:String;
}

Per la riproduzione dei molteplici suoni misti ci sono varie librerie là fuori che potrebbe fare la maggior parte del lavoro pesante per voi.

http://www.gaiaflashframework.com/wiki/index.php ? title = Sound_Groups
Questo può avere un po 'di codice utile per voi, anche se potrebbe essere necessario separare dal quadro Gaia. Forse meglio:
di Matt Przybylski classe SoundManager http://www.reintroducing.com
Guttershark SoundManager classe http://codeendeavor.com/guttershark

anche questi potrebbero essere di interesse per la generazione di suono dinamico:
http://code.google.com/p/benstucki/
"Flaudio è una generazione audio runtime dinamico e libreria di elaborazione per ActionScript 3"

http://code.google.com/p/popforge/
"Popforge AS3 libreria audio consente di creare un oggetto flash.media.Sound valida con i propri campioni. Questo apre nuove prospettive per il sound design con l'attuale Adobe Flash Player 9. È possibile creare sintetizzatori, effetti e sample-giocatori di qualsiasi tipo. La classe AudioBuffer in dotazione consente di creare la riproduzione audio senza fine ".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top