Health/Assets/_VoiceAssistant/AIChatTookit/Tool/Webgl/webglVoiceInput
LIUQUAN\97969 8e5dbcb610 增加语音助手模块 2023-11-21 16:57:37 +08:00
..
Plugins 增加语音助手模块 2023-11-21 16:57:37 +08:00
Scripts 增加语音助手模块 2023-11-21 16:57:37 +08:00
Plugins.meta 增加语音助手模块 2023-11-21 16:57:37 +08:00
README.md 增加语音助手模块 2023-11-21 16:57:37 +08:00
README.md.meta 增加语音助手模块 2023-11-21 16:57:37 +08:00
Scripts.meta 增加语音助手模块 2023-11-21 16:57:37 +08:00

README.md

Unity发布的WebGL支持录音

csdn/bilibili @阴沉的怪咖
哔哩哔哩主页:https://space.bilibili.com/45077877?spm_id_from=333.1007.0.0

解决方案说明

因为这个项目涉及到麦克风录制声音用作语音识别。在所有的语音识别接口都改成web api之后发现unity发布到webgl失败了查了一下相关资料原来是unity内置的microphone类是不支持webgl了所以只好另找解决方案。在网上找了几个解决方案实测了一个博主的源码的确解决了我的问题所以就把他的解决方案集成到我的项目里了。

方案的思路参见unity官方文档文档里描述了unity如何调用js的方法涉及到unity端*.jslib的拓展方法 unity文档https://docs.unity3d.com/cn/2020.3/Manual/webgl-interactingwithbrowserscripting.html

我参考的博主的解决方案里除了在unity端调用js代码外还有js回传数据到unity。部分代码实现是在js里实现了所以在发布webgl后需要修改一点代码并加入js库具体配置方法见下文。

参考资料:

CSDN博客https://blog.csdn.net/Wenhao_China/article/details/126779212?spm=1001.2014.3001.5502t CSDN博文https://blog.csdn.net/a987654sd/article/details/105551560

解决方案作者的源码地址: Githubhttps://github.com/HiWenHao/UnityWebGLMicrophone

附加材料: 以下两个webgl使用microphone方案我尚未验证也放在这里供参考

解决方案1https://gitcode.net/mirrors/xiangyuecn/recorder?utm_source=csdn_github_accelerator 解决方案2https://github.com/tgraupmann/UnityWebGLMicrophone/tree/master

版本

Unity 2020.3.44 Microsoft Visual Studio Professional 2022

发布到webgl说明

注意发布webgl时工程文件的路径必须是全英文。

  • playersetting设置 1、Other Settings里,Color Space修改为Gamma 2、Publishing Settings里勾选Decompression Fallback

js脚本配置

  • 添加js脚本 1、在Plugins目录下找到JavaScripts文件夹把文件夹下的[recorder.wav.min.js]拷贝到输出的webgl包index.html相同的文件夹下[根目录]

-修改index.html文件

1、在Plugins目录下找到JavaScripts文件夹找到[AddToIndex.js]文件,后续需要添加的代码都在这个文件里了,直接复制就可以了 2、用代码编辑器打开index.html文件 3、[AddToIndex.js]里拷贝"",添加到index.html里引用[recorder.wav.min.js]脚本 4、[AddToIndex.js]里拷贝第7行到110行的代码