AudioQueueProcessingTapDelegate Delegar

Definição

Assinatura para manipuladores de retorno de chamada tap do 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

Parâmetros

audioQueueTap
AudioQueueProcessingTap

O contexto do retorno de chamada fornece acesso aos recursos que o Tap pode usar e os parâmetros da configuração De toque.

numberOfFrames
UInt32

Número de quadros que o método deve renderizar.

timeStamp
AudioTimeStamp

Para filas de entrada, retorne o carimbo de data/hora, para filas de saída, o carimbo de data/hora atual.

flags
AudioQueueProcessingTapFlags

Na entrada, os sinalizadores descrevem o tipo de toque que está sendo executado (PreEffect, PostEffect ou Siphon). Ele também pode conter o valor StartOfStream para indicar que uma redefinição para o início é solicitada. Na saída, ele deve ter atualizado os sinalizadores StartOfStream e EndOfStream.

data
AudioBuffers

Os toques de siphoning podem inspecionar o conteúdo dos AudioBuffers individuais no local, mas não devem fazer alterações nele. Outros toques devem alocar e preencher os buffers conforme necessário.

Valor Retornado

Número de quadros fornecidos nos dados.

Comentários

Chame GetSourceAudio até que o número desejado de quadros de áudio exigido pelo toque para trabalhar seja recebido.

Se os toques não puderem preencher o número solicitado de quadros solicitado, o AudioQueue preencherá a lacuna com silêncio.

Na entrada, os sinalizadores podem conter uma solicitação StartOfStream, bem como informações sobre que tipo de toque isso é (em execução antes de um efeito, após um efeito ou apenas um Siphon). O retorno de chamada pode modificar os buffers de dados para casos não Siphon. Para Siphon, ele deve apenas examinar, mas não alterar o conteúdo.

Na saída para casos não Siphon, os sinalizadores devem ser atualizados com sinalizadores StartOfStream e EndOfStream, dependendo dos valores retornados do AudioQueueProcessingTapmétodo GetSourceAudio.

Para casos não siphon, o toque deve alocar o conteúdo do conteúdo do AudioBuffer e garantir que eles permaneçam válidos até a próxima vez que o retorno de chamada de Toque for invocado.

Aplica-se a