[发明专利]一种播放同步方法、装置和USB声卡有效
| 申请号: | 201711083439.5 | 申请日: | 2017-11-07 |
| 公开(公告)号: | CN108089834B | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 程霖;李慧君 | 申请(专利权)人: | 潍坊歌尔电子有限公司 |
| 主分类号: | G06F3/16 | 分类号: | G06F3/16 |
| 代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝;吴昊 |
| 地址: | 261205 山东省潍坊市综合保税区玉清东街以南高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 播放 同步 方法 装置 usb 声卡 | ||
1.一种播放同步方法,其特征在于,该方法包括:
分别累计主设备的写指针向音频数据缓冲区中写入数据的写入次数和从设备的读指针从所述音频数据缓冲区中读取数据的读取次数,在所述写入次数累计至预定次数时,判断所述写入次数与所述读取次数的大小关系;
若所述写入次数大于所述读取次数,将所述从设备的读指针在所述音频数据缓冲区中向读取方向移动一定长度,所述一定长度为所述写入次数和所述读取次数的差值与数据包长度的乘积;
若所述写入次数小于所述读取次数,将所述从设备的读指针指向0数据缓冲区,并在主设备的写指针向所述音频数据缓冲区中新写入数据的次数等于所述读取次数和所述写入次数的差值后,将所述从设备的读指针重新指向在所述音频数据缓冲区的原位置;
该方法还包括:
定期获取主设备的写指针在所述音频数据缓冲区中的写入位置和从设备的读指针在所述音频数据缓冲区中的读取位置;
若所述写入位置与所述读取位置的差值小于数据包长度,或者所述写入位置与所述读取位置的差值大于所述音频数据缓冲区长度与数据包长度的差值,则将所述音频数据缓冲区内的数据清空,并将所述写入次数和所述读取次数清零。
2.根据权利要求1所述的方法,其特征在于,在将所述从设备的读指针在所述音频数据缓冲区中向读取方向移动一定长度,或者将所述从设备的读指针重新指向在所述音频数据缓冲区的原位置之后,该方法还包括:
将所述写入次数和所述读取次数清零,分别重新累计。
3.一种播放同步装置,其特征在于,该装置包括:
次数累计单元,被配置为分别累计主设备的写指针向音频数据缓冲区中写入数据的写入次数和从设备的读指针从所述音频数据缓冲区中读取数据的读取次数;
判断单元,被配置为在所述写入次数累计至预定次数时,判断所述写入次数与所述读取次数的大小关系;
第一处理单元,被配置为在所述判断单元判断所述写入次数大于所述读取次数时,将所述从设备的读指针在所述音频数据缓冲区中向读取方向移动一定长度,所述一定长度为所述写入次数和所述读取次数的差值与数据包长度的乘积;
第二处理单元,被配置为在所述判断单元判断所述写入次数小于所述读取次数时,将所述从设备的读指针指向0数据缓冲区,并在主设备的写指针向所述音频数据缓冲区中新写入数据的次数等于所述读取次数和所述写入次数的差值后,将所述从设备的读指针重新指向在所述音频数据缓冲区的原位置;
该装置还包括:
位置获取单元,被配置为定期获取主设备的写指针在所述音频数据缓冲区中的写入位置和从设备的读指针在所述音频数据缓冲区中的读取位置;
数据清空单元,被配置为若所述写入位置与所述读取位置的差值小于数据包长度,或者所述写入位置与所述读取位置的差值大于所述音频数据缓冲区长度与数据包长度的差值,则将所述音频数据缓冲区内的数据清空,并将所述写入次数和所述读取次数清零。
4.根据权利要求3所述的装置,其特征在于,该装置还包括次数清零单元,
所述次数清零单元,被配置为在将所述从设备的读指针在所述音频数据缓冲区中向读取方向移动一定长度,或者将所述从设备的读指针重新指向在所述音频数据缓冲区的原位置之后,将所述写入次数和所述读取次数清零,分别重新累计。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于潍坊歌尔电子有限公司,未经潍坊歌尔电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711083439.5/1.html,转载请声明来源钻瓜专利网。





