Ich möchte PlaybackTime
von FActiveSound
Klasse erhalten. Allerdings bekomme ich immer diese Fehlermeldung:Assertion failed error bei der Suche nach Active Sound
Assertion failed: IsInAudioThread()
, wenn ich dies nennen:
FActiveSound* ActiveSound = AudioDevice->FindActiveSound(AudioComponent->GetAudioComponentID());
Meine Frage ist, warum ist das so? Es mag keine Frage sein, aber ich kann es nicht an mir selbst arbeiten lassen.
EDIT: 1 Was ich atm zu tun, ist dies: Binding delegate : AudioComponent->OnAudioPlaybackPercent.AddDynamic(this, &UAudioController::GimmePlaybackPosition);
dann gibt es meine Funktion, die wie folgt aussieht:
void UAudioController::GimmePlaybackPosition(const USoundWave* SoundWave, float PlaybackPercent) { FAudioDevice* AudioDevice = GEngine->GetAudioDevice(); if (AudioDevice) { FActiveSound* ActiveSound; } //GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Red, TEXT("Delegate fire")); }
Und jetzt kann ich frage mich, wie ich da meine AudioComponent, um PlaybackTime zu bekommen;/
Danke für deine Hilfe! Ich bin etwas verloren, weil Dokumentation so schlecht ist. Ich habe angefangen, nach dem Engine-Code zu suchen, was hoffentlich für mich nützlicher sein wird: D Dieser Code hat mir eine Menge geholfen, also danke! – Avengar