2011-10-15 11 views
8

Sto lavorando con l'API audio web di Chrome e il webkit AudioContext per riprodurre i loop. Ho diversi loop che sto facendo una dissolvenza incrociata simile all'esempio Digital DJ sul blog chromium.Inizia a riprodurre un file audio caricato nel mezzo con il webkit Chrome AudioContext?

Nel loro esempio stanno commutando i campioni quando il ciclo raggiunge la fine di un ciclo e quindi iniziano a riprodurre il ciclo successivo caricato. Voglio iniziare immediatamente il nuovo ciclo e crossfade in mezzo, ma devo ancora trovare un esempio su come avviare la riproduzione di un nuovo file audio nel mezzo e non solo dall'inizio.

Ho esaminato lo W3C Web Audio API e il parametro noteOn che è stato inviato è solo un codice temporale correlato all'attributo currentTime di contesto quando l'audio dovrebbe iniziare a suonare. Inizia sempre a suonare dall'inizio del campione.

C'è più documentazione o qualcosa che ho trascurato come iniziare a riprodurre un file audio in 2 secondi?

risposta

5

Provare il metodo noteGrainOn del proprio AudioBufferSourceNode. Quel metodo richiede un offset e una durata.

+0

Penso di aver provato quello, ma mi sono imbattuto in un altro problema, controllerò di nuovo quando torno a casa tra 2 giorni. Il problema a cui mi sono imbattuto era quando stavo girando il suono perché il loop inizia con l'offset in noteGrainOn e volevo che iniziasse dall'inizio di quel particolare suono. –

+0

sì, questo ha senso, mi chiedo se crei due nodi sorgente di buffer, e abbia il primo non looping, e pianifichi il giocatore che fa il ciclo per iniziare alla fine del grano? – mkb

+0

Probabilmente funzionerebbe bene. Peccato che non sia costruito per ripetere dall'inizio del suono. –

Problemi correlati