[发明专利]一种基于webrtc实现多方音频通话的方法以及系统有效
申请号: | 201610055005.3 | 申请日: | 2016-01-27 |
公开(公告)号: | CN105743889B | 公开(公告)日: | 2019-05-17 |
发明(设计)人: | 刘敏 | 申请(专利权)人: | 福建星网智慧科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G10L19/20 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 林晓琴 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于webrtc实现多方音频通话的方法,发起端与n个参与端发起通话,建立n路语音通路;发起端开辟缓冲区,发起端将n个参与端的音频编码数据存入缓冲区,并采集发起端的音频编码数据;其中音频编码数据为16bit的语音帧;将n+1个音频编码数据扩展为32bit的数据,分别存储到n+1个变量中;将n+1个变量逐一累加得到和值;发起端将所述和值减去所要发送的参与端的变量得到一发送值;将所述发送值重新转换为16bit的音频帧,通过发起端将该音频帧打包发送至对应的参与端;本发明还提供一种基于webrtc实现多方音频通话的系统,节约了资源,并使得更多人参与通话。 | ||
搜索关键词: | 一种 基于 webrtc 实现 多方 音频 通话 方法 以及 系统 | ||
【主权项】:
1.一种基于webrtc实现多方音频通话的方法,其特征在于:包括如下步骤:步骤1、发起端与n个参与端发起通话,建立n路语音通路,并为发起端和n个参与端设置一权重因子,所述权重因子小于等于1;步骤2、发起端开辟n个环形缓冲区,每个所述环形缓冲区设有一读取指针和写入指针,发起端将n个参与端的音频编码数据分别往所述参与端对应的环形缓冲区填充,之后将各环形缓冲区的写入指针指向距离填充完成时间最近的语音帧,并采集发起端的音频编码数据;将各个音频编码数据乘以其对应的权重因子;其中音频编码数据为16bit的语音帧;步骤a、在读取环形缓冲区中的语音帧前校准读取指针的位置,将读取指针前移一位;若读取指针指向的语音帧的获取时间早于写入指针指向的语音帧的获取时间,若时间间隔小于限定时间,则直接读取读取指针所指向的语音帧;若时间间隔大于等于限定时间,所述读取指针指向的语音帧的最大峰值是否大于声音阈值;是,则继续传输该语音帧;否,则直接略过该帧传输下一语音帧;若读取指针指向的语音帧的获取时间早于写入指针指向的语音帧的获取时间,此时读取指针指向的语音帧已被读取过,则直接读取写入指针所指向的语音帧,若该语音帧已被反复读取了m次,则直接略过该环形缓冲区内的语音帧,直至该环形缓冲区内的有新的语音帧填充;其中m为正整数;步骤3、将n+1个音频编码数据扩展为32bit的数据,分别存储到n+1个变量中;步骤4、将n+1个变量逐一累加得到和值;步骤5、发起端将所述和值减去所要发送的参与端的变量得到一发送值;步骤6、将所述发送值重新转换为16bit的音频帧,通过发起端将该音频帧打包发送至对应的参与端;步骤7、发起端重复步骤5和步骤6,直至发起端将所有对应的音频帧发送至对应的参与端。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网智慧科技股份有限公司,未经福建星网智慧科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610055005.3/,转载请声明来源钻瓜专利网。