记录一下自己写的两个语音对讲包(集成了前人的经验),封装成了两个npm,自带降噪,大家自行采用。
国标/海康 npm install js-audio-talk (稳定版本0.4.0)
大华:npm install js-dahua-talk(稳定版本1.2.0)
(分成两个的原因是解码参数不同,第一个js-audio-talk是通用版本,其实都可以用这个试一下,不好用再用js-dahua-talk)
代码用例(vue2部分代码,需要稍加修改,recorder,wsUrl在data里定义一下就好,剩下写需要的地方):
import { Talker } from "js-audio-talk";
import { Talker2 } from 'js-dahua-talk';
this.recorder = new Talker({
socketUrl: this.wsUrl, // websocket链接地址
})
this.recorder
.start()
.then(({ res }) => {
this.$message.success('语音对讲开启成功!')
})
.catch((err) => {
console.log('startButton-err', err)
})
this.recorder = new Talker2({
socketUrl: this.wsUrl, // websocket链接地址
})
this.recorder
.start()
.then(({ res }) => {
this.$message.success('语音对讲开启成功!')
})
.catch((err) => {
console.log('startButton-err', err)
})
唯一一点需要注意,大部分浏览器不支持不安全的域名访问语音对讲,理论上只有https的链接能访问,但是谷歌浏览器可以手动添加安全域名,具体查一下就知道了。(控制台一般会报两种错,一种是麦克风无权限,这个就需要去加安全域名,另一种是websocket链接失败,这个需要查流媒体,或者看看地址是否写错。)