1.通过mqtt实时收发信息
2.实现发送语音消息
(1)安装js-audio-recorder ,通过这个插件获取浏览器麦克风权限,
注意:在我们开发过程中,前端项目要用localhost这个本地链接访问,否则会获取不到麦克风权限
npm i js-audio-recorder
//在组件中导入插件
import Recorder from 'js-audio-recorder'
//获取麦克风权限的方法,我是在mounted中直接调用的
initRecorder() {
this.recorder = new Recorder({
sampleBits: 16000, // 采样位数,支持 8 或 16,默认是16
sampleRate: 44100, // 采样率,
numChannels: 1, // 声道,支持 1 或 2, 默认是1
})
Recorder.getPermission().then(
() => {
console.log('给权限了')
this.access = true
},
error => {
console.log('获取失败')
this.access = false
// this.$Message.error({
// title: '获取麦克风失败!',
// desc: `${error.name} : ${error.message}`,
// })
}
)
},
(2)当用户按住空格键时,开始录音,松开空格键时发送消息
//监听键盘
addEventListenerForKey(type) {
//因为只有语音消息需要监听键盘按下和松开事件,如果是文字发送时,type位false,删除掉监听事件
if<