Domanda

Sto facendo un lampo, che è fondamentalmente un semplice inseguitore. La mia domanda riguarda la riproduzione sequenziale e problemi più specificamente di temporizzazione.

Il SoundChannel-oggetto fornisce convenientemente un SoundCompleted evento, ma basandosi su che si traduce in piccoli spazi tra suoni, che (purtroppo) rende inutile.

Tutto quello che sono riuscito a scavare fino ad ora, sono tutorial che utilizzano eventi scatenanti ogni millisecondo e guardare manualmente per il segno di spunta da dove cominciare il suono successivo. Questo sembra un po 'hacker e inutilmente dispendioso di risorse.

C'è un modo migliore per tempistica suoni in sequenza con la riproduzione senza pause?

È stato utile?

Soluzione 2

che potrebbe funzionare, ma timeout non sono indipendenti framerate, o comunque non del tutto. Si innescano, come dici tu, il più vicino al timeout impostato possibile, ma ho scoperto che v'è una certa variazione nella precisione a seconda del framerate.

Ma per quanto riguarda il problema originale, ho fatto qualche ricerca e risposto io stesso .

Altri suggerimenti

Se si interroga il tempo del suono corrente (o il tempo rimanente) in millisecondi, e impostare un timeout per quel periodo, e cominciare il suono successivo nel gestore timeout, vorrei che il lavoro? Non è qualcosa che ho provato e trovato affidabili, ma i gestori di timeout verrà chiamato il più vicino al tempo diretta come il Flash Player in grado di gestire (a prescindere dal framerate, ecc). Quindi, se non funziona, non posso davvero immaginare cosa altro avrebbe, a meno che non fosse una variante di stimare quanto sono necessari molti MS di margine di manovra, e cercando di avviare i 5ms suono successivo o qualsiasi altra cosa prima di quella corrente è prevista per fine.

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