无法在Chrome中初始化WebWorker

Can't initialize WebWorker in Chrome

本文关键字:初始化 WebWorker Chrome      更新时间:2023-09-26

我试图在GitHub链接到VoicePin代码的帮助下在浏览器中记录语音

似乎是工人。recorder.js中的postMessage正在工作,但没有工作线程接收它。我设置了recorder.js从它的所有方法中记录消息,我看到了方法,直到我试图从getBuffers方法中获取消息。在这个方法被调用之后,基于recorderWorker的WebWorker必须回调我们传递的callback方法。这就是我在日志中看不到的地方。当我检查代码时,recorderWorker.js开始用onmessage()发送回数据第一次调用那个回调。

由此,我认为recorderworker .js从未初始化,因为我在recorder.js和audiomemanager .js中给出的位置是错误的。

这是我的代码。

在我的页面我加载三个js文件为…

<script type="text/javascript">
<%@include file="../scripts/voicepin/recorder.js" %>
</script>
<script type="text/javascript">
    <%@include file="../scripts/voicepin/recorderWorker.js" %>
</script>
<script type="text/javascript">
    <%@include file="../scripts/voicepin/audiomanager.js" %>
</script>

以下是我尝试传递记录器工作人员路径的两种替代方法…

var recorderWorkerPath = 'recorderWorker.js';

或者……

var recorderWorkerPath = 'scripts/voicepin/recorderWorker.js';

文件夹scripts位于WEB-INF

看起来我没有在网页上正确传递文件位置信息学到任何东西。有人能帮忙吗?

我犯了一个简单的错误,把javaScript文件放在WEB-INF而不是WebContent下。换到正确的位置解决了这个问题。