PlaybackTime
をFActiveSound
クラスから取得したいと考えています。しかし、私は常に、このエラーが出る:私はこの電話の際アクティブサウンドを検索中にアサーションエラーが発生しました
Assertion failed: IsInAudioThread()
:
FActiveSound* ActiveSound = AudioDevice->FindActiveSound(AudioComponent->GetAudioComponentID());
をつまり、なぜ私の質問はありますか?それはnooby質問かもしれないが、私はそれを自分で動作させることはできません。
編集:私は気圧やって何を1 はこれです: Binding delegate : AudioComponent->OnAudioPlaybackPercent.AddDynamic(this, &UAudioController::GimmePlaybackPosition);
そして、このようになります私の機能があります:
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")); }
そして今、私は私が得ることができるか、思ったんだけどは、 PlaybackTimeを取得するために私のAudioComponentがあります。/
あなたの助けをありがとう!ドキュメンテーションがとても悪いので私は少し失われています。私はエンジンコードを調べ始めました。うまくいけば、私にとってもっと有益になるでしょう:そのコードは私に1トンの助けをしました、ありがとう! – Avengar