AudioQueueProcessingTapDelegate Delegar
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.