首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >打包游戏EXCEPTION_ACCESS_VIOLATION OVRlipsync插件UE4后导入音频崩溃

打包游戏EXCEPTION_ACCESS_VIOLATION OVRlipsync插件UE4后导入音频崩溃
EN

Stack Overflow用户
提问于 2022-07-17 20:17:16
回答 1查看 123关注 0票数 0

一直在运行UE4.27和Oculus OVRlipsync上的lipsync项目,并且该项目在UE编辑器上运行得很好。为了将游戏打包到客户端,我开始面对与WAV文件中的烹饪帧序列相关的问题,导致打包应用程序崩溃。

由此产生的崩溃日志是

代码语言:javascript
运行
复制
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000024bc963002c

OVRLipSync
OVRLipSync
OVRLipSync
OVRLipSync
MyProject_Win64_Shipping!ovrLipSync_ProcessFrameEx() [\software\coretech\src\engines\tracking\facetracking\facewave\ovrlipsyncshim.cpp:389]
MyProject_Win64_Shipping!<lambda_04cfcd2176d25e5a0c33289e1c33f647>::operator()() [D:\Unreal Projects\Lipsync\fix2\MyProject\Plugins\OVRLipSync\Source\OVRLipSync\Private\CreateFrameSequenceAsset.cpp:79]
MyProject_Win64_Shipping!TAsyncRunnable<void>::Run()
MyProject_Win64_Shipping!FRunnableThreadWin::Run()

CreateFrameSequenceAsset.cpp:79上跟踪错误,这是插件源代码的一部分,我找到了以下函数context.ProcessFrame(PCMData + offs, ChunkSizeSamples, Visemes, LaughterScore, FrameDelayInMs,NumChannels > 1);

把精力放回到函数的声明和定义上,没有发现任何有用的东西,除了我尝试查找文件ovrlipsyncshim.cpp,没有发现任何东西,所以我尝试搜索我的项目以寻找ProcessFrameEx(),我在/ThirdParty/Include/OVRLipSync.h中找到了它的另一个部分,如下所示

代码语言:javascript
运行
复制
ovrLipSyncResult ovrLipSync_ProcessFrameEx(
    ovrLipSyncContext context,
    const void* audioBuffer,
    int sampleCount,
    ovrLipSyncAudioDataType dataType,
    ovrLipSyncFrame* pFrame);

尽管对所有这些都进行了跟踪,但仍然找不到任何有用的东西来处理异常或告诉异常的原因。

任何人都曾面临过这样的问题,或有过解决这类问题的经验。

EN

回答 1

Stack Overflow用户

发布于 2022-08-24 10:19:06

我也有过同样的问题。我在OvrLipSyncEditorModule.cpp中换了一行

来自

代码语言:javascript
运行
复制
UOVRLipSyncContextWrapper context(ovrLipSyncContextProvider_Enhanced, SampleRate, 4096, ModelPath);

代码语言:javascript
运行
复制
UOVRLipSyncContextWrapper context(ovrLipSyncContextProvider_Enhanced, SampleRate, 8192, ModelPath);

(基本上我增加了缓冲区的大小)

我还增加了这一行:

代码语言:javascript
运行
复制
SoundWave->LoadingBehavior = ESoundWaveLoadingBehavior::ForceInline;

调用之前的

代码语言:javascript
运行
复制
DecompressSoundWave(SoundWave);

现在它不再崩溃,它生成一个序列,但是当我将序列附加到模型上时,它什么也不做。这很奇怪,它似乎不是一个工作的序列,即使我已经检查了,并且序列不是空的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73015071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档