Compartilhar via


Dados de áudio de streaming XAudio2

O streaming é o processo de manter apenas uma pequena parte de um arquivo de áudio em execução na memória. Isso permite que arquivos de áudio grandes, como músicas em segundo plano, sejam reproduzidos e não assumam uma grande quantidade de memória.

Quando um arquivo de áudio é transmitido, seus dados são lidos do disco em partes, em vez de carregar o arquivo inteiro de uma só vez. O streaming é realizado lendo de forma assíncrona dados de áudio em uma fila de buffers de disco. Cada buffer é preenchido e enviado para uma voz de origem. Depois que a voz terminar de reproduzir um buffer, o buffer ficará disponível para leitura novamente. O loop pelos buffers de disco dessa maneira permite que um arquivo de áudio grande seja reproduzido enquanto apenas uma parte de seus dados é carregada. O código de streaming deve ser colocado em um thread separado, em que ele pode dormir enquanto aguarda a conclusão das operações de áudio e disco de longa execução. Uma classe de retorno de chamada é usada para ativar o thread disparando eventos quando as operações de áudio tiverem sido concluídas.

Para obter um exemplo de como o streaming pode ser realizado com XAudio2, consulte Como transmitir um som do disco.

Streaming de dados de áudio

Guia de Programação em XAudio2