本发明涉及多声道无线音箱领域,尤其涉及一种多声道无线音箱之间数据同步的方法及系统。
背景技术:
随着无线技术的发展,无线带宽大幅度地提高,无线传输多个声道有了传输质量的保证。通过无线传输多个声道到多个音箱,可以避免多个音箱之间布线繁琐;多个无线将音箱外置,不仅可以使智能电视做得更轻薄,而且可以提高体验的音效;目前基于蓝牙、WIFI等无线音箱,一般是在同一个音箱上面输出两个声道或者多个声道,在一个音频设备上,对两个或者多个声道之间进行同步,由于系统的时间基准是一样的,因此可以采用时戳来对多个声道进行同步,但是如果多个声道分布到多个无线音箱上,由于不同音箱在系统时间基准上至少会存在ms级别的误差,如果采用时间来同步不同声道的无线音箱,将无法满足不同声道之间us级别的同步误差要求。
技术实现要素:
本发明的主要目的在于提出一种多声道无线音箱之间数据同步的方法及系统,旨在解决采用时间来同步不同声道的无线音箱,将无法满足不同声道之间us级别的同步误差要求的技术问题。
为实现上述目的,本发明提供的一种多声道无线音箱之间数据同步的方法,应用于从设备,所述方法包括以下步骤:
在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;
接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;
根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备;
接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。
可选地,所述接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整的步骤包括:
判断所述对应的音频数据差值是否小于零或大于零;
若所述对应的音频数据差值小于零,则将所述对应的音频数据差值插入到音频数据当前输出位置中;
所述对应的音频数据差值大于零,则从音频数据当前输出位置中删除与所述对应的音频数据差值对应的音频数据。
可选地,所述方法包括:
启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;
在与请求连接的从设备建立连接后,将对应声道的音频数据发送至连接成功的从设备;
当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的信息发送至连接成功的从设备;
获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号,并选取参考编号;
将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。
可选地,所述选取参考编号的步骤包括:
对获取到的音频数据输出位置对应的音频数据编号进行排序;
提取所述音频数据输出位置对应的音频数据编号中的中位数的音频数据编号,并将所述中位数的音频数据编号作为参考编号。
可选地,所述将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备的步骤包括:
将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号相减,获得对应的音频数据差值;
若所述对应的音频数据差值大于零或小于零,则将所述对应的音频数据差值发送至对应的从设备;
若所述对应的音频数据差值等于零,则忽略所述对应的音频数据差值。
此外,为实现上述目的,本发明还提供一种多声道无线音箱之间数据同步的系统,所述系统包括主设备及从设备,所述从设备包括:
第一发送模块,用于在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;
第一接收模块,用于接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;
第二发送模块,用于根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备;
调整模块,用于接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。
可选地,所述调整模块包括:
判断单元,用于判断所述对应的音频数据差值是否小于零或大于零;
插入单元,用于若所述对应的音频数据差值小于零,则将所述对应的音频数据差值插入到音频数据当前输出位置中;
删除单元,用于所述对应的音频数据差值大于零,则从音频数据当前输出位置中删除与所述对应的音频数据差值对应的音频数据。
可选地,所述主设备包括:
启动模块,用于启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;
第三发送模块,用于在与请求连接的从设备建立连接后,将对应声道的音频数据发送至连接成功的从设备;
第四发送模块,用于当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的信息发送至连接成功的从设备;
选取模块,用于获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号,并选取参考编号;
比较模块,用于将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。
可选地,所述选取模块包括:
排序单元,用于对获取到的音频数据输出位置对应的音频数据编号进行排序;
提取单元,用于提取所述音频数据输出位置对应的音频数据编号中的中位数的音频数据编号,并将所述中位数的音频数据编号作为参考编号。
可选地,所述比较模块包括:
相减单元,用于将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号相减,获得对应的音频数据差值;
发送单元,用于若所述对应的音频数据差值大于零或小于零,则将所述对应的音频数据差值发送至对应的从设备;
忽略单元,用于若所述对应的音频数据差值等于零,则忽略所述对应的音频数据差值。
本发明通过在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备;接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。通过上述方式,首先将连接请求发送至主设备,在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;然后接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备;接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。从而实现与其他无线音箱进行同步输出。
附图说明
图1为本发明多声道无线音箱之间数据同步的方法第一实施例的流程示意图;
图2为图1中接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整的步骤的细化流程示意图;
图3为本发明多声道无线音箱之间数据同步的方法第二实施例的流程示意图;
图4为图3中选取参考编号的步骤的细化流程示意图;
图5为图3中将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备的步骤的细化流程示意图;
图6为本发明多声道无线音箱之间数据同步的系统第一实施例的功能模块示意图;
图7为图6中调整模块的细化功能模块示意图;
图8为本发明多声道无线音箱之间数据同步的系统第二实施例的功能模块示意图;
图9为图8中选取模块的细化功能模块示意图;
图10为图8中比较模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种多声道无线音箱之间数据同步的方法,应用于从设备。
参照图1,图1为本发明多声道无线音箱之间数据同步的方法第一实施例的流程示意图。
在本实施例中,该方法包括:
步骤S110,在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备。
在本实施例中,所述从设备为无线音箱,所述无线音箱的数量可以为两个或者两个以上;所述主设备可以为智能电视或者机顶盒等。为保证本实施例能够正常实施,首先需要将主设备各个从设备连接电源,然后开机。并对主设备进行监测,当监测到”主机在运行中”的消息广播时,若当前从设备没有与主设备进行连接,则发出与主设备进行连接的请求。在连接成功后,将获取当前从设备对应声道的音频数据的请求发送至主设备。
步骤S120,接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息。
在将获取当前从设备对应声道的音频数据的请求发送至主设备之后,接收来自主设备的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息。
步骤S130,根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备。
在接收到主设备发出的获取从设备音频数据当前输出位置及对应编号的广播信息时,根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备。
步骤S140,接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。
当主设备通过各个从设备发送的音频数据当前输出位置及对应编号进行计算之后,得到各个从设备的音频数据差值,并将所述音频数据差值发送至各个从设备。从设备接收所述音频数据差值,并根据所述音频数据差值对当前音频数据输出位置进行调整。从而实现各个从设备之间的数据同步输出。
本实施例通过在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;,根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备;接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。通过上述方式,首先将连接请求发送至主设备,在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;然后接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;,根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备;接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。从而实现与其他无线音箱进行同步输出。
进一步地,参照图2,图2为图1中接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整的步骤的细化流程示意图。
基于本发明多声道无线音箱之间数据同步的方法第一实施例,所述步骤S140可以包括:
步骤S141,判断所述对应的音频数据差值是否小于零或大于零;
步骤S142,若所述对应的音频数据差值小于零,则将所述对应的音频数据差值插入到音频数据当前输出位置中;
步骤S143,所述对应的音频数据差值大于零,则从音频数据当前输出位置中删除与所述对应的音频数据差值对应的音频数据。
在本实施例中,当接收到对应的音频数据差值时,首先判断所述对应的音频数据差值是否小于零或大于零,若所述对应的音频数据差值小于零,则说明当前从设备的播放进度比参考进度慢,则需要将当前从设备的播放进度加上对应的音频数据差值,使得当前从设备的播放进度与参考进度一致。所述对应的音频数据差值大于零,则说明当前从设备的播放进度比参考进度慢,则需要将当前从设备的播放进度删除对应的音频数据差值,使得当前从设备的播放进度与参考进度一致。
本实施例通过判断所述对应的音频数据差值是否小于零或大于零;若所述对应的音频数据差值小于零,则将所述对应的音频数据差值插入到音频数据当前输出位置中;所述对应的音频数据差值大于零,则从音频数据当前输出位置中删除与所述对应的音频数据差值对应的音频数据。通过上述方式,实现不同声道的音频输出位置到音频采集位置的音频数据buffer大小一致,从而实现不同声道的无线音箱之间的同步。
本发明进一步提供一种多声道无线音箱之间数据同步的方法,应用于主设备。
参照图3,图3为本发明多声道无线音箱之间数据同步的方法第二实施例的流程示意图。
在本实施例中,该方法包括:
步骤S150,启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;
步骤S160,在与请求连接的从设备建立连接后,将对应声道的音频数据发送至连接成功的从设备;
步骤S170,当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的信息发送至连接成功的从设备;
步骤S180,获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号后,选取参考编号;
步骤S190,将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。
在本实施例中,在启动音频采集模块进行音频数据采集之前,在将主设备连接电源并开机之后,可以通过循环广播方式通知从设备”主机在运行中”,循环广播的时间间隔为T1。T1可以根据具体的音频输出进行设置。然后启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号。将同一时间采集不同声道的数据编号进行统一。然后接收从设备的连接请求并与发出所述连接请求的从设备连接,将进行编号之后的对应声道的音频数据发送至连接成功的从设备。当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的循环广播发送至从设备。所述预设值的取值为2个以上,具体取值可以根据需要进行同步输出的从设备的数量进行设置。当连接的数量到达预设值时,需要获取每个从设备的当前输出位置,因此可以通过将获取从设备音频数据当前输出位置及对应的音频数据编号的循环广播发送至连接成功的从设备中。当获取到已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号后,选取参考编号。然后将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。
本实施例通过启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;在与请求连接的从设备建立连接后,将对应声道的音频数据发送至连接成功的从设备;当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的信息发送至连接成功的从设备;获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号,并选取参考编号;将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。通过上述方式,首先启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;然后接收从设备的连接请求并与发出所述连接请求的从设备连接,将对应声道的音频数据发送至连接成功的从设备;当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的循环广播发送至连接成功的从设备;获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号后,选取参考编号;再将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。以便从设备对输出位置进行调整。
进一步地,参照图4,图4为图3中选取参考编号的步骤的细化流程示意图。
基于本发明多声道无线音箱之间数据同步的方法第二实施例,所述步骤S180可以包括:
步骤S181,对获取到的音频数据输出位置对应的音频数据编号进行排序;
步骤S182,提取所述音频数据输出位置对应的音频数据编号中的中位数的音频数据编号,并将所述中位数的音频数据编号作为参考编号。
在本实施例中,在获取到的音频数据输出位置对应的音频数据编号之后,首先将所述获取到的音频数据输出位置对应的音频数据编号进行排序,然后将所述音频数据输出位置对应的音频数据编号中的中位数的音频数据编号提取,并将所述中位数的音频数据编号作为参考编号。以便实现各个从设备的数据输出同步。
进一步地,参照图5,图5为图3中将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备的步骤的细化流程示意图。
基于本发明多声道无线音箱之间数据同步的方法第二实施例,所述步骤S190可以包括:
步骤S191,将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号相减,获得对应的音频数据差值;
步骤S192,若所述对应的音频数据差值大于零或小于零,则将所述对应的音频数据差值发送至对应的从设备;
步骤S193,若所述对应的音频数据差值等于零,则忽略所述对应的音频数据差值。
在本实施例中,在选取参考编号之后,依次将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号相减,获得对应的音频数据差值。若所述对应的音频数据差值大于零或小于零,则说明所述对应的从设备与参考编号对应的输出位置不一致,需要进行调整,因此需要将所述对应的音频数据差值发送至对应的从设备。若所述对应的音频数据差值等于零,则说明对应的从设备与参考编号对应的设备输出位置一致,不需要进行调整,因此可以忽略所述等于零的对应的音频数据差值。
本发明进一步提供一种多声道无线音箱之间数据同步的系统,所述系统包括主设备及从设备。
参照图6,图6为本发明多声道无线音箱之间数据同步的系统第一实施例的功能模块示意图。
在本实施例中,所述从设备包括:
第一发送模块110,用于在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备。
在本实施例中,所述从设备为无线音箱,所述无线音箱的数量可以为两个或者两个以上;所述主设备可以为智能电视或者机顶盒等。为保证本实施例能够正常实施,首先需要将主设备各个从设备连接电源,然后开机。并对主设备进行监测,当监测到”主机在运行中”的消息广播时,若当前从设备没有与主设备进行连接,则发出与主设备进行连接的请求。在连接成功后,将获取当前从设备对应声道的音频数据的请求发送至主设备。
第一接收模块120,用于接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息。
在将获取当前从设备对应声道的音频数据的请求发送至主设备之后,接收来自主设备的对应声道的音频数据,并接收获取从设备音频数据当前输出位置及对应编号的广播信息。
第二发送模块130,用于根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备。
在接收到主设备发出的获取从设备音频数据当前输出位置及对应编号的广播信息时,根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备。
调整模块140,用于接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。
当主设备通过各个从设备发送的音频数据当前输出位置及对应编号进行计算之后,得到各个从设备的音频数据差值,并将所述音频数据差值发送至各个从设备。从设备接收所述音频数据差值,并根据所述音频数据差值对当前音频数据输出位置进行调整。从而实现各个从设备之间的同步输出。
本实施例通过在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;根据所述广播信息将音频数据当前输出位置及对应编号发送至主设备;接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。通过上述方式,首先将连接请求发送至主设备,在与主设备连接成功后,将获取对应声道的音频数据请求发送至主设备;然后接收所述主设备发送的对应声道的音频数据,并接收所述主设备发送的获取从设备音频数据当前输出位置及对应编号的广播信息;将音频数据当前输出位置及对应编号发送至主设备;接收所述主设备通过音频数据当前输出位置及对应编号计算得到的对应的音频数据差值,并根据所述对应的音频数据差值对音频数据当前输出位置进行调整。从而实现与其他无线音箱进行同步输出。
进一步地,参照图7,图7为图6中调整模块的细化功能模块示意图。
基于本发明多声道无线音箱之间数据同步的系统第一实施例,所述调整模块140可以包括:
判断单元141,用于判断所述对应的音频数据差值是否小于零或大于零;
插入单元142,用于若所述对应的音频数据差值小于零,则将所述对应的音频数据差值插入到音频数据当前输出位置中;
删除单元143,用于所述对应的音频数据差值大于零,则从音频数据当前输出位置中删除与所述对应的音频数据差值对应的音频数据。
在本实施例中,当接收到对应的音频数据差值时,首先判断所述对应的音频数据差值小于零或大于零,若所述对应的音频数据差值小于零,则说明当前从设备的播放进度比参考进度慢,则需要将当前从设备的播放进度加上对应的音频数据差值,使得当前从设备的播放进度与参考进度一致。所述对应的音频数据差值大于零,则说明当前从设备的播放进度比参考进度慢,则需要将当前从设备的播放进度删除对应的音频数据差值,使得当前从设备的播放进度与参考进度一致。
本实施例通过判断所述对应的音频数据差值是否小于零或大于零;若所述对应的音频数据差值小于零,则将所述对应的音频数据差值插入到音频数据当前输出位置中;所述对应的音频数据差值大于零,则从音频数据当前输出位置中删除与所述对应的音频数据差值对应的音频数据。通过上述方式,实现不同声道的音频输出位置到音频采集位置的音频数据buffer大小一致,从而实现不同声道的无线音箱之间的数据同步。
进一步地,参照图8,图8为本发明多声道无线音箱之间数据同步的系统第二实施例的功能模块示意图。
在本实施例中,所述主设备包括:
启动模块150,用于启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;
第三发送模块160,用于在与请求连接的从设备建立连接后,将对应声道的音频数据发送至连接成功的从设备;
第四发送模块170,用于当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的信息发送至连接成功的从设备;
选取模块180,用于获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号,并选取参考编号;
比较模块190,用于将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。
在本实施例中,在启动音频采集模块进行音频数据采集之前,在将主设备连接电源并开机之后,可以通过循环广播方式通知从设备”主机在运行中”,循环广播的时间间隔为T1。T1可以根据具体的音频输出进行设置。然后启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号。将同一时间采集不同声道的数据编号进行统一。然后接收从设备的连接请求并与发出所述连接请求的从设备连接,将进行编号之后的对应声道的音频数据发送至连接成功的从设备。当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的循环广播发送至从设备。所述预设值的取值为2个以上,具体取值可以根据需要进行同步输出的从设备的数量进行设置。当连接的数量到达预设值时,需要获取每个从设备的当前输出位置,因此可以通过将获取从设备音频数据当前输出位置及对应的音频数据编号的循环广播发送至连接成功的从设备中。当获取到已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号后,选取参考编号。然后将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并所述对应的音频数据差值发送至对应的从设备。
本实施例通过启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;在与请求连接的从设备建立连接后,将对应声道的音频数据发送至连接成功的从设备;当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的信息发送至连接成功的从设备;获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号,并选取参考编号;将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并将所述对应的音频数据差值发送至对应的从设备。通过上述方式,首先启动音频采集模块进行音频数据采集,并对每次采集的音频数据进行编号;然后接收从设备的连接请求并与发出所述连接请求的从设备连接,将对应声道的音频数据发送至连接成功的从设备;当连接成功的从设备数量达到预设值时,将获取从设备音频数据当前输出位置及对应的音频数据编号的循环广播发送至连接成功的从设备;获取已连接的从设备发送的音频数据当前输出位置及对应的音频数据编号后,选取参考编号;再将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号进行比较,获得对应的音频数据差值,并所述对应的音频数据差值发送至对应的从设备。以便从设备对输出位置进行调整。
进一步地,参照图9,图9为图8中选取模块的细化功能模块示意图。
基于本发明多声道无线音箱之间数据同步的系统第二实施例,所述选取模块180可以包括:
排序单元181,用于对获取到的音频数据输出位置对应的音频数据编号进行排序;
提取单元182,用于提取所述音频数据输出位置对应的音频数据编号中的中位数的音频数据编号,并将所述中位数的音频数据编号作为参考编号。
在本实施例中,在获取到的音频数据输出位置对应的音频数据编号之后,首先将所述获取到的音频数据输出位置对应的音频数据编号进行排序,然后将所述音频数据输出位置对应的音频数据编号中的中位数的音频数据编号提取,并将所述中位数的音频数据编号作为参考编号。以便实现各个从设备的数据输出同步。
进一步地,参照图10,图10为图8中比较模块的细化功能模块示意图。
基于本发明多声道无线音箱之间数据同步的系统第二实施例,所述比较模块190可以包括:
相减单元191,用于将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号相减,获得对应的音频数据差值;
发送单元192,用于若所述对应的音频数据差值大于零或小于零,则将所述对应的音频数据差值发送至对应的从设备;
忽略单元193,用于若所述对应的音频数据差值等于零,则忽略所述对应的音频数据差值。
在本实施例中,在选取参考编号之后,依次将已连接的从设备发送的音频数据输出位置的音频数据编号与参考编号相减,获得对应的音频数据差值。若所述对应的音频数据差值大于零或小于零,则说明所述对应的从设备与参考编号对应的输出位置不一致,需要进行调整,因此需要将所述对应的音频数据差值发送至对应的从设备。若所述对应的音频数据差值等于零,则说明对应的从设备与参考编号对应的设备输出位置一致,不需要进行调整,因此可以忽略所述等于零的对应的音频数据差值。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。