融云 Web SDK 如何实现语音的收发 ?

融云 Web SDK 如何实现语音的收发 ?

根据融云的开发文档, 总结得出, 融云 WebSDK 需要的是一个 aac 格式的音频 url, 不关注 url 如何生成. 生成 url 的步骤由开发者实现

文档: https://docs.rongcloud.cn/v4/views/im/noui/guide/private/msgmanage/msgsend/web.html#HQVCMsg

所以关注点放在以下几个问题:

1、Web 端能否实现语音录制

2、结合融云 SDK 实现语音的发送

3、结合融云 SDK 实现语音的接收和播放

Web 端能否实现语音录制

答案是可以. 不过只有部分浏览器支持, 录制的音频格式有很多限制, 且只有当前站点为 localhost 或 https 时才可使用

录制原理: getUserMediaMediaRecorder

使用 getUserMedia 获取音频流, 使用 MediaRecorder 录音获取音频数据

以下为录制 5s, 获取 File 对象的代码:

// 通过 getUserMedia 获取音频流
navigator.mediaDevices.getUserMedia(constraints).then((stream) => {
   
  const mediaRecorder = new MediaRecorder(stream);
  const chunks = [];
  // 收集音频数据
  mediaRecorder.ondataavailable = function (e) {
   
    chunks.push(e.data);
  };
  // 监听音频录制停止
  mediaRecorder.onstop = e => 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值