Propriedades da Onda Sonora
Acessando Dados de Áudio
Recuperando o Buffer PCM
Você pode recuperar o buffer PCM inteiro de uma onda sonora diretamente.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
Se você precisar converter os dados PCM obtidos para bytes, consulte Float Array to Bytes.
Propriedades de Reprodução
Looping
Para criar um loop de áudio contínuo, você pode configurar o looping para rebobinar automaticamente o tempo de reprodução da onda sonora para zero e tocar novamente após o fim da reprodução.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
Controle de Volume
Você pode ajustar o volume do som que está sendo reproduzido para atender às suas necessidades.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
Ajuste de Tom
Você pode modificar o tom do som que está sendo reproduzido de acordo com sua preferência.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
Recursos Adicionais
Legendas
Você pode definir legendas, ou seja, definir o texto e o momento em que elas devem ser exibidas.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<FEditableSubtitleCue> Subtitles;
FEditableSubtitleCue Subtitle;
Subtitle.Text = FText::FromString("Example");
Subtitle.Time = 2.0f;
Subtitles.Add(Subtitle);
ImportedSoundWave->SetSubtitles(Subtitles);
Modo de Virtualização
Você pode definir o modo de virtualização, como Play When Silent, que permite que a forma de onda de áudio continue a reprodução mesmo durante o silêncio.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Isso é particularmente útil se você estiver usando atenuação de som para controlar como o áudio desaparece com a distância.
Ambisonics
Você pode marcar uma onda sonora como uma fonte Ambisonics para codificação de áudio espacial 3D. O motor de áudio suporta apenas Ambisonics de Primeira Ordem (FOA), que requer exatamente 4 canais.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
Modificações de Formato de Áudio
Reamostragem e Mistura de Canais Manual
Se você precisar alterar a taxa de amostragem ou o número de canais na onda sonora importada, pode usar as funções apropriadas para reamostrar e misturar os dados de áudio.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
Isso modificará todos os dados da onda sonora e afetará a saída dos delegados OnGeneratePCMData e OnPopulateAudioData de acordo.
Conversão Automática de Formato
Você pode redimensionar e mixar automaticamente todos os dados de áudio futuros a serem preenchidos para a taxa de amostragem e número de canais desejados especificados.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
Isso também afetará a saída dos delegados OnGeneratePCMData e OnPopulateAudioData de acordo.