请选择 进入手机版 | 继续访问电脑版

默认
发表评论 35
引用:Ahaoplus 发表于 2016-08-17 15:24
请问各位群聊怎么实现的?

群聊思路看这贴:http://www.52im.net/thread-245-1-1.html
签名: 《通信交换技术的百年发展史(下)》http://www.52im.net/thread-2356-1-1.html
引用:JackJiang 发表于 2016-03-26 09:49
* 先回答你的问题:
微信的语音留言网络表现我没有注意过,但微信的所有技术实现,都是为了两个字服务: ...

微信为了提高用户体验,策略大概是10s以下的语音通过长连接推过去,更长的语音通过url下载
引用:MontesLee 发表于 2016-12-30 10:39
微信为了提高用户体验,策略大概是10s以下的语音通过长连接推过去,更长的语音通过url下载

“策略大概是10s以下的语音通过长连接推过去”这一条是通过什么渠道证实的?
签名: 《通信交换技术的百年发展史(下)》http://www.52im.net/thread-2356-1-1.html
IM图片语音实现方式
签名: 该会员没有填写今日想说内容.
不错,学习了
签名: 该会员没有填写今日想说内容.
不错不错,学习了
签名: 该会员没有填写今日想说内容.
说说Android端与服务端实现的个人经验,供参考:

发送方:
  1. 我们的语音文件是C/S模式:语音收录完毕马上上传,上传过程中,语音消息体异步构建;  2. 发送方用户无论上传成败,都能播放,因为本地已经有语音文件;
  3. 等到Server Ack语音文件,预构建好的消息体内的文件本体url会被Server响应的文件url替换;
  4. 替换的消息体发送出去,发送方的流程就基本完成;
  5. 如果语音发送失败,重试一次。又失败则参考微信的红色感叹号,以后仅用户点击时才重试;

接收方:
  1. 接收好友发来的消息,里面已经包含了语音文件的url,马上下载,保证体验;
  2. 下载语音可能会出现速度慢、短线等问题,自动重试一次,用户不点语音就不给提示。
  3. 如果用户在重试失败后点击语音,就提示用户下载失败,同时再一次触发重试。如果马上下载成功就直接播放,等很久才成功不需播放;

技术点:
  1. 语音文件一定要限制长度,用长度约束体积;尽量把语音的压缩等级提高,保留语义不影响听者的理解即可,这点也是屈服于体积的,因为不是所有公司都有大厂的音视频研发能力;
  2. 没有做边收音边上传的优化,能力不足的原因;
  3. 如果做两个移动端,从通用型的角度来说,建议选择amr音频;


发送URL过去在用户无网的情况下有点不太友好,请问发送 base64 语音和图片是否可行
签名: 偶尔看看
引用:xhz 发表于 2019-01-18 21:01
发送URL过去在用户无网的情况下有点不太友好,请问发送 base64 语音和图片是否可行

转base64不可行,这是个馊主意。语音和图片压缩后几十到几百KB,貌似还能接受但短视频少则几MB,多则数十MB怎么办。

无网的情况下是用户自身条件受限,程序可以站在产品的角度考虑问题,没有必要太过纠结技术的实现,苦了程序,这本身就是用户自已的问题,完全可以理解。
以上是我的个人意见,可能是瞎说的,仅供参考
签名: 《通信交换技术的百年发展史(下)》http://www.52im.net/thread-2356-1-1.html
引用:JackJiang 发表于 2019-01-18 21:18
转base64不可行,这是个馊主意。语音和图片压缩后几十到几百KB,貌似还能接受但短视频少则几MB,多则数十 ...

那请问如果只针对语言和图片是否可行,最大化的避免无网问题
签名: 偶尔看看
图片针对压缩的封面图进行base64,原图URL正常携带过去。有点坑的就是推送和拉取这类消息时候传输太大了,对网卡和时延感觉增加不小的压力。参考地址
签名: 偶尔看看
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部