[发明专利]一种音频播放的回音消除方法、装置及电子设备有效
申请号: | 202110677425.6 | 申请日: | 2021-06-18 |
公开(公告)号: | CN113259385B | 公开(公告)日: | 2021-09-17 |
发明(设计)人: | 张亚楠;王树波;吴西亚;涂远友;任晓明 | 申请(专利权)人: | 北京拓课网络科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04M9/08;H04R3/02;G09B5/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 牛亭亭 |
地址: | 100010 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 音频 播放 回音 消除 方法 装置 电子设备 | ||
1.一种音频播放的回音消除方法,其特征在于,包括:
获取audio标签将要播放的音频播放文件的源数据,使用媒体流对象绑定所述源数据生成音频数据流;
分别创建本地媒体流会话连接对象和远端媒体流会话连接对象,根据set RemoteDescription指令建立媒体链路;
获取包含所述音频数据流的音频轨道对象,将所述音频轨道对象绑定所述本地媒体流会话连接对象的输入数据流端;
接收所述本地媒体流会话连接对象的输入数据流端传输的音频数据流,为所述远端媒体流会话连接对象的输出数据流端创建媒体流对象,绑定接收返回的音频数据流;
在web中创建新的HTML5 audio标签;
将所述媒体流对象设置为所述HTML5 audio标签的源文件对象,为所述HTML5 audio标签绑定待播放的音频数据流;
获取所述待播放的音频数据流的第一频谱数据,将所述第一频谱数据添加到WebRTC的回音消除队列;
获取麦克风采集的音频数据流的第二频谱数据,将所述第二频谱数据与所述第一频谱数据进行频谱校验;
如果发现存在相同的频谱数据,则丢弃所述回音消除队列的音频数据流。
2.根据权利要求1所述的方法,其特征在于,所述获取audio标签将要播放的音频播放文件的源数据,使用媒体流对象绑定所述源数据生成音频数据流的步骤具体包括:
通过所述audio标签的源文件对象,获取所述audio标签的音频播放文件的源地址;
通过Web Audio创建Audio Context Object进行音频操作,使用decode Audio Data接口加载该音频播放文件的地址,获得该音频播放文件的源数据;
使用Create Media Stream Source创建媒体流对象,使用媒体流对象绑定所述音频播放文件的源数据生成音频数据流。
3.根据权利要求1所述的方法,其特征在于,所述分别创建本地媒体流会话连接对象和远端媒体流会话连接对象,根据set Remote Description指令建立媒体链路的步骤具体包括:
创建本地媒体流会话连接对象,用于接收所述audio标签生成的音频数据流,调用create Offer指令创建offer,保存offer的会话描述协议内容,将所述audio标签的音频数据流向外发送;
创建远端媒体流会话连接对象,用于接收offer发送的所述audio标签音频数据流,调用create Answer指令创建answer,保存answer的会话描述协议内容;
使用offer的set Remote Description指令保存answer端的会话描述协议,使用answer的set Remote Description指令保存offer端的会话描述协议,协商协议完成,建立媒体链路;
媒体链路建立成功后,根据远端媒体流会话连接对象的输出,调用监听回调函数。
4.根据权利要求1所述的方法,其特征在于,所述获取包含所述音频数据流的音频轨道对象,将所述音频轨道对象绑定所述本地媒体流会话连接对象的输入数据流端的步骤包括:
通过所述媒体流会话连接对象,获取包含了所述音频数据流的音频轨道对象;
将所述音频轨道对象通过RTC Peer Connection.add Track指令绑定本地媒体流会话连接对象的输入数据流端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京拓课网络科技有限公司,未经北京拓课网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110677425.6/1.html,转载请声明来源钻瓜专利网。