12#include "AudioCaptureProtocol.generated.h"
38 , TotalGameRecordingTime(0.0)
39 , TotalPlatformRecordingTime(0.0)
40 , GameRecordingStartTime(0.0)
41 , PlatformRecordingStartTime(0.0)
45 FileName =
TEXT(
"{world}");
60 if (GetWorld() && GetWorld()->GetGameViewport())
63 GetWorld()->GetGameViewport()->bDisableWorldRendering =
true;
76 GameRecordingStartTime = GetWorld()->TimeSeconds;
90 AudioDevice->StopAllSounds(
true);
95 TotalGameRecordingTime += GetWorld()->TimeSeconds - GameRecordingStartTime;
98 UE_LOG(
LogTemp,
Warning,
TEXT(
"Audio Recording Paused. Adding: %f seconds to GameRecording. Adding: %f seconds to Platform Recording."),
101 GameRecordingStartTime = -1.0;
102 PlatformRecordingStartTime = -1.0;
107 if (GetWorld() && GetWorld()->GetGameViewport())
110 GetWorld()->GetGameViewport()->bDisableWorldRendering =
false;
119 double Difference = TotalGameRecordingTime - TotalPlatformRecordingTime;
123 UE_LOG(
LogMovieSceneCapture,
Warning,
TEXT(
"Game Time is out of sync with Platform Time during audio recording. This is usually an indication that the sequence could not play back at full speed, and audio will most likely be desynchronized. Platform Time took %f seconds longer than Game Time."),
Difference);
129 UPROPERTY(config, EditAnywhere, BlueprintReadWrite, Category =
"Audio Options")
132 double TotalGameRecordingTime;
133 double TotalPlatformRecordingTime;
134 double GameRecordingStartTime;
135 double PlatformRecordingStartTime;
ENGINE_API class UEngine * GEngine
Definition UnrealEngine.cpp:427
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition AudioDeviceHandle.h:28
Definition UObjectGlobals.h:1292
static CORE_API FString ConvertRelativePathToFull(const FString &InPath)
Definition Paths.cpp:1586
static AUDIOMIXER_API void StartRecordingOutput(const UObject *WorldContextObject, float ExpectedDuration, USoundSubmix *SubmixToRecord=nullptr)
Definition AudioMixerBlueprintLibrary.cpp:246
static AUDIOMIXER_API USoundWave * StopRecordingOutput(const UObject *WorldContextObject, EAudioRecordingExportType ExportType, const FString &Name, FString Path, USoundSubmix *SubmixToRecord=nullptr, USoundWave *ExistingSoundWaveToOverwrite=nullptr)
Definition AudioMixerBlueprintLibrary.cpp:258
static AUDIOMIXER_API void ResumeRecordingOutput(const UObject *WorldContextObject, USoundSubmix *SubmixToPause=nullptr)
Definition AudioMixerBlueprintLibrary.cpp:329
static AUDIOMIXER_API void PauseRecordingOutput(const UObject *WorldContextObject, USoundSubmix *SubmixToPause=nullptr)
Definition AudioMixerBlueprintLibrary.cpp:317
ENGINE_API FAudioDeviceHandle GetActiveAudioDevice()
Definition UnrealEngine.cpp:3922
Definition AudioCaptureProtocol.h:32
virtual bool SetupImpl() override
Definition AudioCaptureProtocol.h:49
virtual void PauseCaptureImpl() override
Definition AudioCaptureProtocol.h:81
virtual void BeginFinalizeImpl() override
Definition AudioCaptureProtocol.h:105
virtual bool StartCaptureImpl() override
Definition AudioCaptureProtocol.h:55
Definition MovieSceneCaptureProtocolBase.h:298
Definition AudioCaptureProtocol.h:20
@ false
Definition radaudio_common.h:23
static double Seconds()
Definition AndroidPlatformTime.h:20
Definition MovieSceneCaptureProtocolBase.h:310
static UE_FORCEINLINE_HINT bool IsNearlyZero(float Value, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:407