背景
近期做的项目中需要在代码中读取歌曲、图片等文件,打包Android应用后运行时发现读取不到在项目中的那些文件。
解决方案
在项目设置中将非Assert文件目录加入到配置中。
Project -> Packaging -> Additional Non-Asset Directories to Package 中添加Content下的自定义目录。
C++ 代码中读取:
// 读取所有的Track
TArray<FString> Files;
FString FilePath = FPaths::ProjectContentDir().Append("Songs");
//GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Orange, FString::Printf(TEXT("FilePath is: %s"), *FilePath));
FString Extension = TEXT("*.info");
USGameplayStatics::ScanDirectory(Files, FilePath, Extension);