ferrinweb / voice-input-button2

New version of voice input button using new interface of iflytek voice dictation (the stream version). 基于讯飞新版语音听写(流式版) api 的语音输入按钮 vue 组件。
96 stars 16 forks source link

在本地开发使用组件时没有任何问题,但当我将自己的项目打包发布后存在getUserMedia of undefined的报错 #24

Closed GuiYangGan closed 4 years ago

GuiYangGan commented 4 years ago

大佬,你好 在使用组件后,本地开发不存在问题,但是当我打包发布到服务器后出现报错 线上地址:http://customer.chatbot-server.com/ image

ferrinweb commented 4 years ago

你需要追踪下上下文环境是否包含 navigator 或 navigator.mediaDevices 对象。

GuiYangGan commented 4 years ago

还请指教,怎么追踪,我在页面mounted生命周期中是可以获取到的,但是插件我不知道怎么去追踪

GuiYangGan commented 4 years ago

我再次尝试了下,navigator对象是存在的,但是navigator.mediaDevices对象不存在 image

GuiYangGan commented 4 years ago

image 这样的使用是否可以做一个容错处理,判断一下navigator.mediaDevices是否存在

ferrinweb commented 4 years ago

你看下是不是 navigator 对象上既没有 getUserMedia 方法也没有 mediaDevices 对象,我没有发现此问题,不清楚是否由你的打包环境引起。

GuiYangGan commented 4 years ago

image 的确getUserMediafa方法也是undefined

GuiYangGan commented 4 years ago

那我怎么向你展示我的打包环境,把package.json文件贴出来给你看吗?

ferrinweb commented 4 years ago

你的上下文代码中是否从新定义了 navigator 对象?应该是打包环境的问题

GuiYangGan commented 4 years ago

我自己装过这个插件recorder-js,不知道是否有影响

GuiYangGan commented 4 years ago

目前我可以确定的是,在我的代码里没有重新定义navigator对象 附上我的一些环境配置文件 chatbot-client.zip

ferrinweb commented 4 years ago

你尝试启用 https 协议试试,应该是协议限制导致的。

GuiYangGan commented 4 years ago

十分感谢,启用https协议后确实解决了这个问题