System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种音频同步播放方法及相关装置制造方法及图纸_技高网

一种音频同步播放方法及相关装置制造方法及图纸

技术编号:40040777 阅读:5 留言:0更新日期:2024-01-16 19:41
本申请提供了一种音频同步播放方法及相关装置,实现了在主设备和从设备播放同一个音频的过程中,主设备周期性地向从设备发送一包数据包,从设备可以进一步该数据包的期望播放时间,对本地音频流的期望播放时间进行调整,使得从设备上和主设备上播放同一音频的时差在预设范围内,实现同步播放音频的效果。

【技术实现步骤摘要】

本申请涉及数据传输,尤其涉及一种音频同步播放方法及相关装置


技术介绍

1、随着音频技术的不断发展,为了提升人的听觉体验,在播放音频时,可以通过多个不同的音频输出设备输出不同声道的音频,达到播放多声道音频的目的。

2、在多个不同的音频输出设备输出相同的音频数据时,如何保证多个不同的音频输出设备输出相同的音频数据的时间是的一致,避免多个不同的音频输出设备之间出现播放时延,有待进一步研究。


技术实现思路

1、本申请提供了一种音频同步播放方法及相关装置,实现了主设备和从设备可以在播放音频的过程中,动态协商,实现同步播放音频的效果。

2、第一方面,本申请提供了一种音频同步播放方法,方法包括:从设备接收第一音频流,将第一音频流划分为第一长度的多个数据包,并确定出第一音频流中每个数据包的期望播放时间;从设备接收主设备发送的第一同步数据包,第一同步数据包包括第一音频数据、第一同步数据包的第一序列号、第一同步数据包的第一期望播放时间;从设备基于第一同步数据包中的第一音频数据,确定出第一本地数据包;第一本地数据包包括第二音频数据、第一本地数据包的第二序列号、第一本地数据包的第二期望播放时间,第二音频数据与第一音频数据部分匹配或者完全匹配;从设备接收到第二音频流,第二音频流为第一音频流之后的音频流;从设备基于第一序列号与第二序列号的差值和第二音频数据与第一音频数据的第一偏移量,将第二音频流的开始播放时间设置为第三期望播放时间;从设备基于第三期望播放时间播放第二音频流。

<p>3、通过第一方面提供的方法,第一方面,可以实现主设备和从设备在播放音频的过程中,动态协商,实现同步播放音频的效果。

4、结合第一方面,在一种可能的实现方式中,从设备基于第一序列号与第二序列号的差值和第二音频数据与第一音频数据的第一偏移量,将第二音频流的开始播放时间设置为第三期望播放时间,具体包括:在第一序列号与第二序列号的差值为0,且第一偏移量大于第一值的情况下,从设备在第二音频流之前加上第一偏移量的数据,得到第二更新音频流;从设备将第二更新音频流的开始播放时间设置为第三期望播放时间;在第一序列号与第二序列号的差值为0,且第一偏移量小于第二值的情况下,从设备将第二音频流前面去掉第一偏移量的数据,得到第二更新音频流;从设备将第二更新音频流的开始播放时间设置为第三期望播放时间;在第一序列号与第二序列号的差值为0,且第一偏移量大于第二值小于第一值的情况下,从设备将第二音频流的开始播放时间设置为第三期望播放时间。

5、这样,在第一序列号与第二序列号相同的情况下,若第一偏移量大于第一值,即第一本地数据包中前面部分音频内容和第一同步数据包中后面部分音频内容相同,从设备通过在第二音频流前面加上第一偏移量的数据,使得第二音频流中本地数据包和同步数据包内的音频内容完全相同。

6、若第一偏移量小于第一值,即第一本地数据包中后面部分音频内容和第一同步数据包中前面部分音频内容相同,从设备通过在第二音频流前面去掉第一偏移量的数据,使得第二音频流中本地数据包和同步数据包内的音频内容完全相同。

7、若第一偏移量等于第一值,则主设备和从设备是同步播放的,从设备不需对音频流二进行调整。

8、结合第一方面,在一种可能的实现方式中,从设备将第二更新音频流的开始播放时间设置为第三期望播放时间,具体包括:从设备基于第一音频流中最后一个数据包的期望播放时间、每个数据包的播放时长,确定出第二更新音频流的开始播放时间为第三期望播放时间;从设备基于第三期望播放时间播放第二音频流,具体包括:从设备基于第三期望播放时间播放第二更新音频流。

9、这样,在第一序列号与第二序列号相同的情况下,从设备可以基于第一偏移量对第二音频流进行调整,从而调整第二音频流中每个字节的播放时间。

10、或者,

11、从设备将第二音频流的开始播放时间设置为第三期望播放时间,具体包括:从设备第一音频流中最后一个数据包的期望播放时间、每个数据包的播放时长,确定出第二音频流的开始播放时间为第三期望播放时间。

12、这样,在第一序列号与第二序列号相同的情况下,第二音频流的时间也可以不调整。

13、结合第一方面,在一种可能的实现方式中,从设备基于第一序列号与第二序列号的差值和第二音频数据与第一音频数据的第一偏移量,将第二音频流的开始播放时间设置为第三期望播放时间,具体包括:在第一序列号与第二序列号不为0,且第一偏移量大于第一值的情况下,从设备在第二音频流之前加上第一偏移量的数据,得到第二更新音频流;从设备将第二更新音频流的开始播放时间设置为第三期望播放时间;在第一序列号与第二序列号的差值不为0,且第一偏移量小于第二值的情况下,从设备将第二音频流前面去掉第一偏移量的数据,得到第二更新音频流;从设备将第二更新音频流的开始播放时间设置为第三期望播放时间;在第一序列号与第二序列号的差值不为0,且第一偏移量大于第二值小于第一值的情况下,从设备将第二音频流的开始播放时间设置为第三期望播放时间。

14、这样,在第一序列号与第二序列号不同的情况下,若第一偏移量大于第一值,即第一本地数据包中前面部分音频内容和第一同步数据包中后面部分音频内容相同,从设备通过在第二音频流前面加上第一偏移量的数据,使得第二音频流中本地数据包和同步数据包内的音频内容完全相同。

15、若第一偏移量小于第一值,即第一本地数据包中后面部分音频内容和第一同步数据包中前面部分音频内容相同,从设备通过在第二音频流前面去掉第一偏移量的数据,使得第二音频流中本地数据包和同步数据包内的音频内容完全相同。

16、若第一偏移量等于第一值,则主设备和从设备是同步播放的,从设备不需对音频流二进行调整。

17、结合第一方面,在一种可能的实现方式中,从设备将第二更新音频流的开始播放时间设置为第三期望播放时间,具体包括:从设备基于第一音频流中最后一个数据包的期望播放时间、每个数据包的播放时长、第一序列号与第二序列号的差值,确定出第二更新音频流的开始播放时间为第三期望播放时间;从设备基于第三期望播放时间播放第二音频流,具体包括:从设备基于第三期望播放时间播放第二更新音频流。

18、这样,在第一序列号与第二序列号不同的情况下,从设备可以基于第一偏移量对第二音频流进行调整,在基于第一序列号与第二序列号的差值调整第二音频流中每个字节的期望播放时间。

19、或者,

20、从设备将第二音频流的开始播放时间设置为第三期望播放时间,具体包括:从设备第一音频流中最后一个数据包的期望播放时间、每个数据包的播放时长、第一序列号与第二序列号的差值,确定出第二音频流的开始播放时间为第三期望播放时间。

21、这样,这样,在第一序列号与第二序列号不同的情况下,从设备可以基于第一序列号与第二序列号的差值调整第二音频流中每个字节的期望播放时间。

22、结合第一方面,在一种可能的实现方式中,从设备基于本文档来自技高网...

【技术保护点】

1.一种音频同步播放方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述从设备基于所述第一序列号与所述第二序列号的差值和所述第二音频数据与所述第一音频数据的第一偏移量,将所述第二音频流的开始播放时间设置为第三期望播放时间,具体包括:

3.根据权利要求2所述的方法,其特征在于,所述从设备将所述第二更新音频流的开始播放时间设置为第三期望播放时间,具体包括:

4.根据权利要求1所述的方法,其特征在于,所述从设备基于所述第一序列号与所述第二序列号的差值和所述第二音频数据与所述第一音频数据的第一偏移量,将所述第二音频流的开始播放时间设置为第三期望播放时间,具体包括:

5.根据权利要求4所述的方法,其特征在于,所述从设备将所述第二更新音频流的开始播放时间设置为第三期望播放时间,具体包括:

6.根据权利要求2-5任一项所述的方法,其特征在于,所述从设备基于所述第三期望播放时间播放所述第二更新音频流,具体包括:

7.根据权利要求1-5任一项所述的方法,其特征在于,所述从设备基于所述第三期望播放时间播放所述第二音频流,具体包括:

8.根据权利要求1-7任一项所述的方法,其特征在于,在所述从设备基于所述第三期望播放时间播放所述第二音频流之后,所述方法还包括:

9.根据权利要求7所述的方法,其特征在于,所述第二音频流中的所述多个数据包包括第三本地数据包,所述第三本地数据包的开始播放时间为第三期望播放时间;

10.根据权利要求9所述的方法,其特征在于,所述从设备基于所述第三本地数据包的所述第三期望播放时间播放所述第三本地数据包,具体包括:

11.根据权利要求1-10任一项所述的方法,其特征在于,所述从设备基于所述第一同步数据包中的所述第一音频数据,确定出第一本地数据包,具体包括:

12.一种电子设备,为从设备,其特征在于,所述从设备包括:一个或多个处理器、一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述从设备执行上述权利要求1-11中的任一项所述的方法。

13.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在从设备上运行时,使得所述从设备执行如权利要求1至11任一项所述的方法。

14.一种计算机程序产品,其特征在于,当所述计算机程序产品在从设备上运行时,使得所述从设备执行如权利要求1至11任一项所述的方法。

...

【技术特征摘要】

1.一种音频同步播放方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述从设备基于所述第一序列号与所述第二序列号的差值和所述第二音频数据与所述第一音频数据的第一偏移量,将所述第二音频流的开始播放时间设置为第三期望播放时间,具体包括:

3.根据权利要求2所述的方法,其特征在于,所述从设备将所述第二更新音频流的开始播放时间设置为第三期望播放时间,具体包括:

4.根据权利要求1所述的方法,其特征在于,所述从设备基于所述第一序列号与所述第二序列号的差值和所述第二音频数据与所述第一音频数据的第一偏移量,将所述第二音频流的开始播放时间设置为第三期望播放时间,具体包括:

5.根据权利要求4所述的方法,其特征在于,所述从设备将所述第二更新音频流的开始播放时间设置为第三期望播放时间,具体包括:

6.根据权利要求2-5任一项所述的方法,其特征在于,所述从设备基于所述第三期望播放时间播放所述第二更新音频流,具体包括:

7.根据权利要求1-5任一项所述的方法,其特征在于,所述从设备基于所述第三期望播放时间播放所述第二音频流,具体包括:

8.根据权利要求1-7任一项所述的方法,其特征在于,在所述从设备基于所述第三期望播放时间播...

【专利技术属性】
技术研发人员:刘奥丽
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1