Pular para o conteúdo principal

Capturable Sound Wave

Visão Geral

Uma capturable sound wave é derivada da streaming sound wave. Ela suporta a captura de dados de áudio de dispositivos de entrada, como um microfone, e sua reprodução, com as mesmas capacidades de uma sound wave importada (incluindo retroceder, uso em SoundCues, etc). Você pode até capturar e reproduzir áudio simultaneamente sem quaisquer limitações.

dica

Para Detecção de Atividade de Voz (VAD), consulte esta página.

nota

A capturable sound wave solicita automaticamente permissões de microfone no iOS e Android assim que a captura é iniciada.

Uso Básico

Criando uma Capturable Sound Wave

Primeiro, você deve criar uma capturable sound wave.

Create Capturable Sound Wave node

atenção

Você deve tratar a onda sonora capturável como uma referência forte para evitar destruição prematura (por exemplo, atribuindo-a a uma variável separada em Blueprints ou usando UPROPERTY() em C++).

Obtendo Dispositivos de Entrada Disponíveis

Para usar este recurso, você precisa primeiro obter todos os dispositivos de entrada de áudio disponíveis que podem ser usados para captura.

Nó Obter Dispositivos de Entrada de Áudio Disponíveis

Iniciando e Parando a Captura

Após obter os dispositivos disponíveis, você pode iniciar a captura de dados de áudio do dispositivo de entrada e pará-la quando necessário.

Nós de Iniciar e Parar captura

info

DeviceId é o índice do dispositivo no array de dispositivos disponíveis obtido na etapa anterior. Para usar o dispositivo de entrada de áudio padrão, passe -1 em Blueprints ou Audio::DefaultDeviceIndex em C++ (que é igual a INDEX_NONE), pois às vezes o índice zero não é o dispositivo padrão.

Verificando o Status de Captura

Você pode verificar se o Sound Wave está capturando áudio no momento:

Nó Is Capturing

Recursos Avançados

Silenciando e Dessilenciando a Captura

Você pode optar por silenciar ou dessilenciar a captura de som para evitar o acúmulo de dados de áudio sem interromper o processo de captura.

Nós Toggle Mute

Diferenças de Versão do Engine

UE 5.3 e mais recentes: Iniciar e parar a captura não causa mais travamentos, então ToggleMute tem o mesmo efeito que StartCapture/StopCapture. Você pode não precisar usar ToggleMute para otimização de desempenho.

UE 5.2 e anteriores: Iniciar a captura através de StartCapture pode causar pequenos travamentos. Nessas versões, é recomendado usar ToggleMute para alternar a captura ligada e desligada com frequência. Você deve primeiro iniciar a captura em um momento menos crítico (como uma tela de carregamento), e então usar mudo/desmudo para controlar quando os dados de áudio são realmente acumulados.

Otimização de Desempenho para Versões Anteriores do Engine

Se você está usando UE 5.2 ou anterior e quer eliminar pequenas congeladas, considere iniciar a captura durante um momento em que esse congelamento possa ser insignificante. Por exemplo, você poderia iniciar a captura durante a tela de carregamento do seu jogo, silenciar a onda sonora capturável logo em seguida, e então dessilenciar a onda sonora capturável quando necessário para capturar dados de áudio sem nenhum travamento.

Exemplo Completo

Aqui está um exemplo completo de implementação do uso de uma onda sonora capturável:

Um exemplo de uso de uma onda sonora capturável