[发明专利]一种音频同步播放的方法、装置和系统有效
申请号: | 201410479022.0 | 申请日: | 2014-09-18 |
公开(公告)号: | CN104269182B | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 曾小波;王重乐;高强 | 申请(专利权)人: | 歌尔股份有限公司 |
主分类号: | G11B27/10 | 分类号: | G11B27/10 |
代理公司: | 北京市隆安律师事务所11323 | 代理人: | 权鲜枝,吴昊 |
地址: | 261031 山东省潍*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 音频 同步 播放 方法 装置 系统 | ||
技术领域
本发明涉及通信领域中的音频技术,特别涉及一种音频同步播放的方法、装置和系统。
背景技术
随着电子信息技术和声学技术的发展,多音频输出终端系统被普遍使用,这就引入了多个音频输出终端之间的播放同步问题。
音频同步播放的现行通用做法是对音频数据流添加播放时间戳信息,音频输出终端在得到音频流数据和时间戳信息后,在相应的时间点输出对应音频数据以实现多个音频输出终端同步播放的目的。但该现行通用方法至少具有如下缺点:
首先需要对音频源进行处理以添加时间戳信息,通用性不高,欠缺灵活性;其次音频输出终端在整个播放过程中都要对时间戳信息进行分析以使音频数据在相应时间点输出,增加了系统复杂性;最后若音频输出终端支持多路音频同时输出(同步通道和非同步通道),即音频输出终端含有混音器,则同步播放的同步操作必须在混音之前完成(同步通道不影响非同步通道),又若音频数据源与音频数据播放硬件采样频率不匹配,则同步播放的同步操作需要在音频重采样之前完成。
上述缺陷都将引入系统的复杂性并导致同步精度不高的问题,并且在含有操作系统的音频输出终端上,由于系统调度、系统中断的随机性导致同步精度的控制更加复杂。
发明内容
本发明提供的一种音频同步播放的方法、装置和系统,以解决现有音频同步灵活性欠佳、系统复杂度较高、以及音频同步播放精度不够高的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一方面,本发明实施例提供了一种音频同步播放方法,所述方法包括:
服务器端向各个客户端发送音频数据源路径和预取命令;
各个客户端根据所述预取命令从所述音频数据源路径获得音频数据,将获得的音频数据解码并缓冲在本地同步缓冲区中,并在本地同步缓冲区缓冲到预取门限后,向服务器端发送预取完成应答和预取完成时间;
服务器端在收到所有客户端的预取完成应答后,依据所有客户端的预取完成时间确定出同步播放的开始时间点,并向各个客户端发送同步播放命令和所述同步播放的开始时间点;
各个客户端在收到所述同步播放命令后,判断所述同步播放的开始时间点是否到来,在所述同步播放的开始时间点到来之前使用指定数据进行输出操作;在所述同步播放的开始时间点到来时,计算本地同步缓冲区中的音频数据的调整量,根据该调整量调整本地同步缓冲区中的音频数据,同时对调整后的音频数据进行输出播放。
其中,所述音频数据源路径包括服务器自身的可对外访问的地址、或者网络中所述服务器之外的设备的可对外访问的地址。
上述技术方案中,服务器端选取所有客户端预取完成后的一个时间点作为所述同步播放的开始时间点。
上述技术方案中,所述各个客户端在收到所述同步播放命令后,判断所述同步播放的开始时间点是否到来包括:
各个客户端每隔预定时间,将本地当前系统时间与所述同步播放的开始时间点进行比较;如果本地当前系统时间大于或等于所述同步播放的开始时间点,则判断所述同步播放的开始时间点到来,反之则判断所述同步播放的开始时间点未到来。
上述技术方案中,在所述同步播放的开始时间点到来之前使用指定的数据0进行输出操作。
上述技术方案中,所述各个客户端在所述同步播放的开始时间点到来时,计算本地同步缓冲区中的音频数据的调整量包括:
客户端根据在所述同步播放的开始时间点到来时,获得的当前音频输出链路中已经含有的音频数据量、获得该音频数据量的系统时间、同步播放的开始时间点,以及客户端的输出采样率和音频数据源的采样率,计算本地同步缓冲区需要丢弃的音频数据量或者需要插入的指定数据量。
可选的,所述各个客户端根据该调整量调整本地同步缓冲区中的音频数据包括:
各个客户端对本地同步缓冲区的音频数据进行丢弃操作,并且在客户端的输出采样率与音频数据源的采样率一致时,利用下述公式计算本地同步缓冲区需要丢弃的音频数据量:
Frames=((NewNs-StartNS)*HwRate)/109+BufferFrames;
在客户端的输出采样率与音频数据源的采样率不一致时,利用下述公式计算本地同步缓冲区需要丢弃的音频数据量:
Frames=((NewNs-StartNS)*SrcRate)/109+(BufferFrames*SrcRate)/HwRate;
或者,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于歌尔股份有限公司,未经歌尔股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410479022.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:液压伺服系统与压电陶瓷驱动器共同驱动的并联机构
- 下一篇:双层立体降噪防护屏