Condividi tramite


AudioQueueProcessingTapDelegate Delegato

Definizione

Firma per i gestori di callback tap di AudioQueue.

public delegate uint AudioQueueProcessingTapDelegate(AudioQueueProcessingTap audioQueueTap, uint numberOfFrames, ref AudioTimeStamp timeStamp, ref AudioQueueProcessingTapFlags flags, AudioBuffers data);
type AudioQueueProcessingTapDelegate = delegate of AudioQueueProcessingTap * uint32 *  *  * AudioBuffers -> uint32

Parametri

audioQueueTap
AudioQueueProcessingTap

Il contesto per il callback fornisce l'accesso alle risorse che il tocco può usare e i parametri della configurazione tap.

numberOfFrames
UInt32

Numero di fotogrammi di cui deve essere eseguito il rendering del metodo.

timeStamp
AudioTimeStamp

Per le code di input, restituire il timestamp, per le code di output, il timestamp corrente.

flags
AudioQueueProcessingTapFlags

Nella voce i flag descrivono il tipo di tocco eseguito (PreEffect, PostEffect o Siphon). Può anche contenere il valore StartOfStream per indicare che è richiesta una reimpostazione all'inizio. Nell'output dovrebbero essere stati aggiornati i flag StartOfStream e EndOfStream.

data
AudioBuffers

I tap sifoni possono controllare il contenuto dei singoli AudioBuffers sul posto, ma non devono apportare modifiche. Altri tap devono allocare e riempire i buffer in base alle esigenze.

Valore restituito

Numero di fotogrammi forniti nei dati.

Commenti

Chiama GetSourceAudio fino a quando non viene ricevuto il numero desiderato di fotogrammi audio richiesti dal tocco per il lavoro.

Se i tap non sono in grado di riempire il numero richiesto di fotogrammi richiesti, AudioQueue riempirà il vuoto con il silenzio.

Nella voce, i flag possono contenere una richiesta StartOfStream e informazioni sul tipo di tocco (in esecuzione prima di un effetto, dopo un effetto o solo un Siphon). Il callback può modificare i buffer di dati per i case non Siphon. Per Siphon, dovrebbe semplicemente esaminare, ma non modificare il contenuto.

All'uscita per i case non Siphon, i flag devono essere aggiornati con i flag StartOfStream e EndOfStream a seconda dei valori restituiti dal AudioQueueProcessingTapmetodo GetSourceAudio.

Per i casi non sifoni, il tocco deve allocare il contenuto del contenuto AudioBuffer e assicurarsi che rimangano validi fino alla successiva chiamata al callback tap.

Si applica a