// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "SoundFile.h" #include "SoundFileIOEnums.h" namespace Audio { class FSoundFileIOManagerImpl { public: FSoundFileIOManagerImpl(); ~FSoundFileIOManagerImpl(); TSharedPtr CreateSoundFileReader(); TSharedPtr CreateSoundDataReader(); TSharedPtr CreateSoundFileWriter(); bool GetSoundFileDescription(const FString& FilePath, FSoundFileDescription& OutputDescription, TArray& OutChannelMap); bool GetSoundFileDescription(const FString& FilePath, FSoundFileDescription& OutputDescription); bool GetFileExtensionForFormatFlags(int32 FormatFlags, FString& OutExtension); ESoundFileError::Type GetSoundFileInfoFromPath(const FString& FilePath, FSoundFileDescription& Description, TArray& ChannelMap); ESoundFileError::Type LoadSoundFileFromPath(const FString& FilePath, FSoundFileDescription& Description, TArray& ChannelMap, TArray& BulkData); }; } // namespace Audio