Reproduzir Áudio
Reprodução Básica
Para reproduzir uma onda sonora importada, use as mesmas funções que você usaria para uma regular. Por exemplo, use a função PlaySound2D ou Play de um componente de áudio, como um Sound Cue.

Controlando a Reprodução
Rebobinando o Tempo de Reprodução
Para rebobinar o tempo de reprodução da onda sonora, use a função RewindPlaybackTime.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Rewind playback time of the sound wave for 12.5 seconds
ImportedSoundWave->RewindPlaybackTime(12.5f);
Nas versões da UE até a 4.27, se você quiser iniciar a reprodução a partir de um tempo específico maior que 0, pode ser necessário usar a função RewindPlaybackTime antes. Caso contrário, o som pode não ser reproduzido corretamente devido a problemas internos do motor ao lidar com ondas procedurais. Este problema foi resolvido no motor desde a versão 5.0.
Obtendo Informações de Reprodução
Para obter o tempo de reprodução atual da onda sonora, use as funções GetPlaybackTime ou GetPlaybackPercentage. Você também pode obter a duração da onda sonora usando a função GetDuration.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Get the current playback time of the sound wave
float PlaybackTime = ImportedSoundWave->GetPlaybackTime();
// Get the current playback percentage of the sound wave
float PlaybackPercentage = ImportedSoundWave->GetPlaybackPercentage();
// Get the duration of the sound wave
float Duration = ImportedSoundWave->GetDuration();
Verificando o Status de Reprodução
Está Tocando Atualmente
Para determinar se a onda sonora está tocando no momento, você pode usar a função IsPlaying.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave is currently playing
bool bIsPlaying = ImportedSoundWave->IsPlaying();
A Reprodução Está Concluída
Para verificar se a onda sonora terminou de ser reproduzida, você pode usar a função IsPlaybackFinished.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave has finished playback
bool bIsFinished = ImportedSoundWave->IsPlaybackFinished();
Parando a Reprodução
Você pode parar a reprodução da onda sonora usando a função StopPlayback.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Stop the playback of the sound wave
ImportedSoundWave->StopPlayback();
Geralmente, é recomendado parar a reprodução da onda sonora usando meios externos (por exemplo, chamando Stop no componente de áudio) e usar esta função apenas se os meios externos não estiverem disponíveis. Além disso, observe que esta função não funciona para reprodução a partir de MetaSounds.
Manipulação de Eventos
Rastreando a Conclusão da Reprodução
Para rastrear o fim da reprodução de áudio, vincule-se ao delegado OnAudioPlaybackFinished.
- Blueprint
- C++

UCLASS()
class AMyAudioPlayer : public AActor
{
GENERATED_BODY()
public:
UFUNCTION()
void OnAudioFinished()
{
// Handle the end of audio playback
}
void BindAudioDelegate(UImportedSoundWave* ImportedSoundWave)
{
// Bind to the OnAudioPlaybackFinished delegate
ImportedSoundWave->OnAudioPlaybackFinished.AddDynamic(this, &AMyAudioPlayer::OnAudioFinished);
}
};
Gerenciamento de Memória
Liberando Memória
Você pode limpar manualmente os dados de áudio usando a função ReleaseMemory.
- Blueprint
- C++

// Release memory of the sound wave
ImportedSoundWave->ReleaseMemory();
A liberação manual de memória não é recomendada, a menos que você tenha requisitos específicos de gerenciamento de memória ou tenha desativado o coletor de lixo.