小言_互联网的博客

IP摄像头国标GB28181协议视频平台EasyGBS发布实时语音通讯功能

465人阅读  评论(0)

我们知道EasyGBS已经实现了语音对讲功能(国标GB28181流媒体服务器能否实现语音对讲),很多其他功能的开发都是基于语音对讲,因此我们对语音对讲的开发十分看重。

EasyGBS的远程控制平台的通讯功能,需要做到实时对讲,我们之前的语音对讲类似于微信发送语音消息,需要按一下讲话,然后松开时发送一段语音,无法做到实时对讲。

而我们现在需要实现的语音实时对讲是当开启语音时,通过发送websocket,当数据达到协定大小时,即自动发送过去。

通过触发麦克风按钮事件,发送websocket请求,当再次点击时,关闭语音。通讯实例:


  
  1. methods: {
  2. collectionAudio() {
  3. let audio = $( ".audioFont");
  4. audio.removeClass( "iconguanbiduijiang");
  5. audio.addClass( "iconduijiang");
  6. this.recorder = new Recorder({
  7. sampleBits: 16, // 采样位数,支持 8 或 16,默认是16
  8. sampleRate: 8000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000
  9. numChannels: 1,
  10. });
  11. this.recorder.start().then(
  12. () => {
  13. // 开始录音
  14. this.audioWS = new WebSocket(
  15. `wss://${window.location.host}/api/v1/ws_talk/${this.DeviceID}/${this.ID}`
  16. );
  17. },
  18. (error) => {
  19. // 出错了
  20. console.log( `${error.name} : ${error.message}`);
  21. }
  22. );
  23. },

本文我们只是做了一个范例,大家可以简单参考一下。EasyGBS提供RTSP、RTMP、HTTP-FLV、HLS等多种协议流输出,并且对外提供服务器获取状态、信息,控制 HTTP API接口,欢迎大家来试用。

EasyGBS播放界面:


转载:https://blog.csdn.net/EasyGBS/article/details/109490382
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场