Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A API XAPO permite a criação de objetos de processamento de áudio multiplataforma (XAPO) para uso no XAudio2 no Windows e no Xbox 360. Um XAPO é um objeto que recebe dados de áudio de entrada e executa alguma operação nos dados antes de transmiti-los. Você pode usar um XAPO para executar uma variedade de tarefas, incluindo adicionar reverb a um fluxo de áudio e monitorar os níveis de pico de volume.
Criando novos XAPOs
A API XAPO fornece a interface IXAPO e a classeCXAPOBasepara criar novos tipos XAPO. A interface IXAPO contém todos os métodos que precisam ser implementados para criar um novo XAPO. A classe CXAPOBase fornece uma implementação básica da interface IXAPO. CXAPOBase implementa todos os métodos de interface IXAPO, exceto o método IXAPO::Process, que é exclusivo para cada XAPO.
Para obter um exemplo de criação de um novo XAPO, consulte Como: Criar umXAPO .
Para obter um exemplo de criação de um XAPO que aceita parâmetros de tempo de execução, consulte Como: Adicionar suporte a parâmetros de tempo de execução a umXAPO .
XAPOs e COM
XAPOs implementam o IUnknown interface. As interfacesIXAPO eIXAPOParameters incluem os três métodos: IUnknown, QueryInterface, AddRefe Release. CXAPOBase fornece implementações de todos os três métodos IUnknown. Uma nova instância de CXAPOBase terá uma contagem de referência de 1. Ele será destruído quando sua contagem de referência se tornar 0. As implementações de IXAPO e IXAPOParameters devem seguir o mesmo padrão para permitir a sua gestão adequada quando utilizados com XAudio2.
As instâncias XAPO são passadas para XAudio2 como IUnknown interfaces. XAudio2 usa QueryInterface para adquirir a interface IXAPO e para detetar se o XAPO implementa a interface IXAPOParameters. As implementações de IXAPO devem aceitar solicitações de __uuidof(IXAPO). Se IXAPOParameters for implementado, ele também deve aceitar solicitações de __uuidof(IXAPOParameters).
Usando um XAPO no XAudio2
XAPOs são usados em XAudio2 ao serem anexados a vozes. Cada voz XAudio2 tem uma cadeia de efeitos contendo zero ou mais efeitos de áudio. Os dados de áudio enviados para uma voz são passados através de cada efeito na cadeia antes de serem enviados para os alvos de saída da voz. Os dados são passados da voz para cada efeito usando o pInputProcessParameters parâmetro do métodoIXAPO::P rocess. Em seguida, ele é encaminhado de volta para a voz utilizando o parâmetro pOutputProcessParameters. A voz pega a saída de cada efeito e a alimenta no próximo efeito na cadeia até que nenhum efeito seja deixado na cadeia.
Para obter mais informações sobre cadeias de efeitos XAudio2, consulte XAudio2 Audio Effects.
Para obter um exemplo de como usar um XAPO no XAudio2, consulte Como usar um XAPO no XAudio2.
Bibliotecas de Efeitos
A biblioteca de efeitos XAPO contém vários XAPOs e um método comum para sua instanciação. Consulte a secção Visão Geral da XAPOFX para obter informações sobre a XAPOFX. Além disso, o XAudio2 tem efeitos integrados de reverberação e medidor de volume. Consulte Efeitos de Áudio XAudio2 para obter mais informações sobre os efeitos XAudio2 integrados.
Tópicos relacionados