UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FileEncoder.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "Interfaces/IAudioFormat.h"
8
9namespace Audio
10{
12 {
13 public:
14 // Constructor. Takes an absolute file path and metadata about the audio in question.
15 // Immediately allocates all data necessary.
17
18 // Calling the destructor on this class finalizes and closes out the file.
20
21 // Returns file information.
23
24 // Use this to push audio to the file writer.
25 // If you'd like to move encoding and file writing to a separate thread from PushAudio,
26 // Call this with bEncodeIfPossible = false.
27 SIGNALPROCESSING_API bool PushAudio(const float* InAudio, int32 NumSamples, bool bEncodeIfPossible = true);
28
29 // If PushAudio is called with bEncodeIfPossible set to false, this will need to be called.
31
32 private:
34
35 FSoundQualityInfo QualityInfo;
36 TArray<uint8> DataBuffer;
37
38 // Compressor we are using.
40
41 // Handle to file we are writing to.
42 TUniquePtr<IFileHandle> FileHandle;
43
44 IAudioEncoder* GetNewEncoderForFile(const FString& InPath);
45 FString GetExtensionForFile(const FString& InPath);
46 void FlushEncoderToFile(int32 DataBufferSize = 4096);
47 };
48}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition FileEncoder.h:12
SIGNALPROCESSING_API bool PushAudio(const float *InAudio, int32 NumSamples, bool bEncodeIfPossible=true)
Definition FileEncoder.cpp:33
SIGNALPROCESSING_API bool EncodeIfPossible()
Definition FileEncoder.cpp:49
SIGNALPROCESSING_API void GetFileInfo(FSoundQualityInfo &OutInfo)
Definition FileEncoder.cpp:28
SIGNALPROCESSING_API ~FAudioFileWriter()
Definition FileEncoder.cpp:20
Definition IAudioEncoder.h:16
Definition Array.h:670
Definition UniquePtr.h:107
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53