This is how I use it:
Header
UPROPERTY(BlueprintReadOnly, Category = "Components")
UAudioComponent* MusicAudioComponent;
UFUNCTION()
void OnMusicPlayback(const USoundWave* PlayingWave, const float PlaybackPercent);
CPP
UECGame_AudioManager::UECGame_AudioManager(const FObjectInitializer& OI)
: Super(OI)
{
// Create the Music Component
MusicAudioComponent = OI.CreateDefaultSubobject<UAudioComponent>(this, TEXT("MusicAudioComponent"));
MusicAudioComponent->OnAudioPlaybackPercent.AddDynamic(this, &UECGame_AudioManager::OnMusicPlayback);
}
void UECGame_AudioManager::OnMusicPlayback(const USoundWave* PlayingWave, const float PlaybackPercent)
{
const float CurrentPlaybackTime = PlayingWave->Duration * PlaybackPercent;
}
In your example you’re still trying to call AudioDevice->FindActiveSound(). You can’t do that.