AudioQueueProcessingTapDelegate Delegato
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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.