Trabalhar com áudio no jogo em DirectX

Trabalhar com áudio no jogo em DirectX

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Aprenda como desenvolver e incorporar música e sons a seu jogo em DirectX e como processar sinais de áudio para criar sons dinâmicos e posicionais.

Para programação de áudio, recomendamos usar a biblioteca XAudio2 no DirectX, que é a usada aqui. XAudio2é uma biblioteca de áudio de baixo nível que fornece uma estrutura de processamento e mixagem de sinais para jogos e dá suporte a diversos formatos.

Você também pode implementar sons e simples e reprodução de músicas com a Microsoft Media Foundation. A Microsoft Media Foundation foi desenvolvida para reprodução de arquivos e fluxos de mídia (de áudio e vídeo), mas também pode ser usada em jogos e é particularmente útil para cenas cinemáticas ou componentes sem interação de seu jogo.

Nesta seção

TópicoDescrição

Mapa de desenvolvimento de áudio em DirectX

Este tópico fornece uma lista de recursos para o desenvolvimento de áudio nos aplicativos do Tempo de Execução do Windows usando DirectX com C++. O tópico abrange tipos de suporte de áudio XAudio2, Media Foundation e XAML do Tempo de Execução do Windows.

 

Conceitos básicos

Veja alguns conceitos de programação de áudio que usamos nesta seção.

  • Os sinais são as unidades básicas da programação de sons. Eles são análogos aos pixels nos gráficos. Os processadores de sinais digitais (DSPs) que os processam são como os sombreadores de pixels do áudio do jogo. Eles podem transformar sinais, combiná-los ou filtrá-los. Programando os DSPs, você pode alterar os efeitos sonoros e a música de seu jogo com o nível de complexidade necessário, seja baixo ou alto.
  • As vozes são compostos submixados de dois ou mais sinais. Há três tipos de objetos de voz do XAudio2: vozes de origem, submixagem e masterização. As vozes de origem operam em dados de áudio fornecidos pelo cliente. As vozes de origem e submixagem enviam sua saída para uma ou mais vozes de submixagem ou masterização. As vozes de submixagem e masterização combinam o áudio de todas as vozes que as alimentam e operam no resultado. As vozes de masterização gravam dados de áudio em um dispositivo de áudio.
  • Mixagem é o processo de combinar várias vozes discretas, como os efeitos sonoros e o áudio de fundo que são reproduzidos em uma cena, em um fluxo único. Submixagem é o processo de combinar vários sinais discretos, como os sons que compõem o barulho de um motor, e criar uma voz.
  • Formatos de áudio As músicas e os feitos sonoros podem ser armazenados em vários formatos digitais para seu jogo. Há formatos não comprimidos, como WAV, e comprimidos, como MP3 e OGG. Quanto mais a amostra é comprimida (normalmente designada por sua taxa de bits. Quanto menor for essa taxa, mais perdas haverá na compressão), pior é sua fidelidade. A fidelidade pode variar entre esquemas de compressão e taxas de bits. Por isso, experimente-as para achar a que funciona melhor em seu jogo.
  • Taxa de amostragem e qualidade. Os sons podem ser amostrados com taxas diferentes, e sons amostrados com taxas menores têm uma fidelidade pior. A taxa de amostragem com qualidade de CD é de 44,1 Khz (44.100 Hz). Se não precisar de sons com alta fidelidade, escolha uma taxa de amostragem mais baixa. As taxas altas podem ser adequadas para aplicativos de áudio profissionais. Porém, você provavelmente não as usará, a não ser que seu jogo exija som com fidelidade profissional.
  • Emissores (ou origens) de sons. No XAudio2, os emissores de sons são locais que emitem um som, de um simples ruído em um barulho de fundo até uma agressiva faixa de rock reproduzida por uma jukebox no jogo. Especifique os emissores por coordenadas do ambiente.
  • Ouvintes de sons. Geralmente, um ouvinte de sons é o jogador, mas pode ser uma entidade com inteligência artificial em um jogo mais avançado, que processa os sons recebidos de um ouvinte. Você pode submixar o som no fluxo de áudio para que seja reproduzido ao jogador ou usá-lo para realizar uma ação específica no jogo, como acordar um guarda com inteligência artificial marcado como ouvinte.

Considerações de design

O áudio é uma parte extremamente importante do design e desenvolvimento de jogos. Muitos jogadores podem lembrar de um jogo medíocre que foi elevado a um status lendário simplesmente em função de uma trilha sonora memorável, trabalhos incríveis de dublagem e mixagem de sons ou produção de áudio geral fora de série. A música e o som definem a personalidade de um jogo e estabelecem o motivo principal que define o jogo, fazendo-o se destacar de outros jogos semelhantes. O esforço de design e desenvolvimento do perfil de áudio de seu jogo será muito bem recompensado.

O áudio 3D posicional pode proporcionar um nível de imersão além do fornecido por gráficos 3D. Se você estiver desenvolvendo um jogo complexo que simule um mundo ou exija estilo cinemático, pense em usar técnicas de áudio posicional 3D para fazer com que o jogador realmente entre no jogo.

Referência

Tópicos relacionados

Guia de Programação em XAudio2

 

 

Mostrar:
© 2016 Microsoft