Pular para o conteúdo principal

Importar áudio

Visão geral

O processo de importar áudio em tempo de execução pode ser dividido em várias etapas:

  1. Criar um Runtime Audio Importer
  2. Vincular aos delegados necessários (OnProgress e OnResult)
  3. Importar áudio de um arquivo ou buffer
  4. Reproduzir o sound wave importado obtido do delegado OnResult (mais informações estão aqui)
Nota importante

Certifique-se de que tanto a instância do Runtime Audio Importer quanto a do Sound Wave não sejam coletadas prematuramente pelo garbage collector, mantendo uma referência forte a elas. Isso pode ser feito atribuindo-as a variáveis separadas usando UPROPERTY(), TStrongObjectPtr ou qualquer outro método que evite a destruição do objeto.

Formatos de áudio suportados

O Runtime Audio Importer suporta a importação dos seguintes formatos de áudio:

FormatoDescrição
MP3MPEG-1/2/2.5 Audio Layer I/II/III
WAVWaveform Audio File Format
FLACFree Lossless Audio Codec
OGG VORBISContêiner Ogg com áudio Vorbis
OGG OPUSContêiner Ogg com áudio Opus
BINKBink Audio
RAW (PCM)Dados de áudio Pulse-Code Modulation não comprimidos (Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32)
dica

Ao importar áudio, você pode especificar o formato explicitamente ou usar detecção automática de formato baseada na extensão do arquivo ou no conteúdo.

Importações de áudio em streaming

Para cenários de streaming onde os dados de áudio são recebidos incrementalmente (por exemplo, de um servidor, captura em tempo real ou fluxos de rede), considere usar Streaming Sound Waves.

Este método fornece uma maneira contínua de anexar dados de áudio ao mesmo buffer do sound wave, tornando-o adequado para transmissões ao vivo ou arquivos grandes processados em partes. Consulte a documentação do Streaming Sound Wave para obter mais detalhes.

Etapas básicas de implementação

1. Criar Runtime Audio Importer

Primeiro, você precisa criar um objeto Runtime Audio Importer. Certifique-se de que ele seja tratado como uma referência forte pelo garbage collector.

Nó Create Runtime Audio Importer

2. Vincular ao Delegate OnProgress

Para acompanhar o progresso da importação de dados de áudio, você pode vincular ao delegado OnProgress (Blueprints) / OnProgressNative (C++).

Um exemplo de vinculação ao delegado On Progress

dica

Isso permitirá que você monitore o progresso e, por exemplo, implemente uma tela de carregamento.

3. Vincule ao Delegate OnResult

Para ser notificado quando o processo de importação de dados de áudio estiver concluído e acessar a referência da onda sonora resultante, você deve vincular ao delegate OnResult (Blueprints) / OnResultNative (C++).

Um exemplo de vinculação ao delegate On Result

atenção

Certifique-se de que a onda sonora importada seja tratada como uma referência forte pelo coletor de lixo para evitar coleta prematura indesejada. Isso pode ser feito colocando-a como uma variável separada em Blueprints.

4. Iniciar Importação de Áudio

Inicie o processo de importação de áudio chamando a função relevante, que pode lidar com formatos de dados de áudio compactados e não compactados.

Exemplos de nós Import Audio

Funções Utilitárias

Localizando Arquivos de Áudio

Você pode escanear um diretório em busca de arquivos de áudio suportados:

Scan Directory For Audio Files node

Exemplo Completo

Aqui está um exemplo completo de implementação para importar áudio:

Exemplo completo