我找了很多资料都没有找到方法,目前想用SaveArrayToFile(TArray, *FilePath)函数来保存,可是在USoundWave类中又找不到存储声音信息的二进制数组
感谢您的回复,但是我需要的是在项目运行时导出为wav
运行时导出干嘛呢?描述一下你的需求?
导出后我想用python加工语音,python脚本里读取本地文件进行声音克隆,然后UE再去读取进行播放,现在读取已经实现了,但是保存成本地文件不行。
void UAssetManager::SaveSoundWaveToFile(USoundWave* SoundWave)
{
if (SoundWave == nullptr)
{
return;
}
TArray<UObject*> ObjectsToExport;
ObjectsToExport.Add(SoundWave);
FAssetToolsModule& AssetToolsModule = FModuleManager::GetModuleChecked<FAssetToolsModule>("AssetTools");
AssetToolsModule.Get().ExportAssetsWithDialog(ObjectsToExport, true);
}
原理就是用了编辑器导出按钮调用的函数。
这个函数我放在AssetManager里的,你可以放在你想要的地方。
我测试了能在PIE里用,但这个模块依赖了UnrealED,肯定不能打发行包。
1 Like
好吧,还是谢谢您