KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UAudioCacheManager.h
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved.
2// Unauthorized copying, modification, or distribution of this file,
3// via any medium is strictly prohibited. Proprietary and confidential.
4
7#pragma once
8
9#include "CoreMinimal.h"
10#include "Macro.h"
11#include "Subsystems/GameInstanceSubsystem.h"
12#include "UAudioCacheManager.generated.h"
13
23UCLASS()
24class ONEPIECE_API UVoiceCacheManager : public UGameInstanceSubsystem
25{
26 GENERATED_BODY()
27
28public:
30
32 virtual void Initialize(FSubsystemCollectionBase& Collection) override;
33
35 virtual void Deinitialize() override;
36
43 bool TryGetCachedAudio(const FString& AudioText, TArray<uint8>& OutAudioData);
44
50 void SaveToCache(const FString& AudioText, const TArray<uint8>& AudioData);
51
55 UFUNCTION(BlueprintCallable, Category = "Voice|Cache")
56 void ClearCache();
57
58private:
64 static FString GenerateCacheFileName(const FString& AudioText);
65
70 static FString GetCacheDirectory();
71
78 static bool LoadFromDisk(const FString& AudioText, TArray<uint8>& OutAudioData);
79
86 static bool SaveToDisk(const FString& AudioText, const TArray<uint8>& AudioData);
87
88private:
90 TMap<FString, TArray<uint8>> MemoryCache;
91};
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
TTS 오디오 데이터를 캐싱하여 네트워크 요청을 최소화하는 서브시스템입니다.
DEFINE_SUBSYSTEM_GETTER_INLINE(UVoiceCacheManager)