融云搭建IM在安卓微信浏览器无法播放声音

薄洪涛5年前JS1229

之前我们做了一个在线问诊的项目,基于融云和VUE搭建,在聊天的时候,接收到语音消息进行播放的时候,出了点问题,在安卓的微信浏览器上无法播放,在ios上却可以

然后我使用了微信开发者工具,打开了页面,发现报如下错误

TIM截图20200729202940.png


融云在接收语音消息,实际上是接收到的base64的串,然后使用融云自带的辅助插件进行播放

示例代码

然后这是官网给的文档,文档上说明是支持ios和android的微信的浏览器的

TIM截图20200802145149.png


然后我被折磨 了一下午,最后没办法提交了工单,以下是融云官方的回复

您好,感谢您使用融云服务。

融云声音库本身已经不维护了, 您的问题有可能是因为引用 cdn 文件. cdn 文件会有部分手机浏览器播放失败问题. 您更换下 github 的声音库 

https://github.com/rongcloud/websdk-demo/blob/master/lib/RongIMVoice-2.2.6.js


另外, 根据您的描述, 您使用的应该是 VoiceMessage(旧语音消息)

旧语音消息 content 为 base64 amr 语音. 质量较差, 时长限制严重, 占用消息体大, 传输也会更慢

建议您使用高清语音消息, 高清语音使用 aac 格式语音, 直接传递上传后的远程地址. Web 可直接使用 audio 标签播放

注: 高清语音移动端需版本为 2.9.19 以上

文档可见: https://docs.rongcloud.cn/v3/views/im/ui/guide/private/conversation/msgsend/ios.html?ver=4#sendvoice


由于我们之前为了兼容使用的旧版的语音消息,所以没办法在短时间内升级融云SDK,所以我尝试了第一种方案,从github上找到了新的RongIMVoice-2.2.6.js,替换远程连接

然后发现可以了!!!!!!!!

主要原因是融云文档中提供的 js 可能是从cdn中加载的,代码不是最新的,只要替换就可以了




相关文章

ios textarea标签的placeholder属性多行时被隐藏

ios textarea标签的placeholder属性多行时被隐藏

我们使用的textarea 来做了病情描述,但是在ios手机上,当删除输入的文字后,placeholder显示不全,只有键盘收回的时候,才可以显示,如下图导致的原因目前不明确,但是百度上说有可能是以下...

node学习及小爬虫的实现

node学习及小爬虫的实现

菜鸟一只,抽空了解了下node,然后总结下学到的重点;首先是安装nodejs,需要安装的版本最好是v6.0以上,不然有些特性不兼容nmp是和nodeJS一起安装的一个管理包工具,类似于python的p...

vue2.0搭建vue脚手架

vue2.0搭建vue脚手架

最近有个项目,老大评估后想用前后端分离技术来做,借这个机会来熟悉下vue前端框架,这次就搭建一个vue项目,下一个目标就是把vue和yii2.0整合;开搞搭建node环境这步很简单,下载安装包右键安装...

vue搭建基于融云的聊天室

    最近项目比较忙,在做完了一个在线问诊的项目后,想给大家分享下其中用到的,但是百度上资料又比较少的技术    需求...

JsonP跨域请求详解

JsonP跨域请求详解

先来了解一下基本的概念,什么叫做跨域?举个例子,在localhost:8080上有一个ajax请求,代码如下<script src="js/jquery-1.7.2.js&q...

vue中axios请求接口性能优化

vue中axios请求接口性能优化

    Vue的开发者都知道axios,很多都用axios来进行数据交互,axios的默认请求头是Content-Type: application/jso使用...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。