背景技术
数字生活网络联盟(Digital Living Network Alliance,DLNA)是由消费性电子、移动电话以及电脑厂商组成的联盟组织,其制定了统一的传输规范,目的在于让各种不同厂商的产品能够互相沟通。据此,只要是符合数字生活网络联盟协议的影音装置,就能够直接链接、同步动作,甚至是传输数据。
在数字生活网络联盟环境下的装置大致包括数字媒体服务器(Digital MediaServer,DMS)、数字媒体控制器(Digital Media Controller,DMC)以及数字媒体播放器(Digital Media Renderer,DMR)。当多个数字媒体播放器、数字媒体服务器以及数字媒体控制器之间以无线方式连接时,多个数字媒体播放器以无线方式自数字媒体服务器接收音频数据并进行音频播放。然而,由于无线传输的稳定度不如有线传输,若于过程中受到干扰,多个数字媒体播放器之间可能会产生明显的不同步状况。因此,如何控制并同步多个数字媒体播放器的音频拨放已成为此领域急需解决的问题。
以下就现有的同步方法进行说明。请参照图1,图1是显示现有的同步多个播放装置的音频播放的方法的流程图。
现有的数字媒体服务器中的每一媒体资源皆具有一同步设备列表,同步设备列表中保存所有需要同步播放该媒体资源的数字媒体播放器的设备名称和IP地址信息。
以下详细说明数字媒体控制器控制数字媒体服务器在多个数字媒体播放器上实现同步播放的流程,请同时参照图1。
步骤101:用户通过数字媒体控制器向数字媒体服务器中的某一媒体资源发出同步播放请求。
步骤102:数字媒体服务器查找该媒体资源的同步设备列表。
步骤103:数字媒体服务器判断该媒体资源是否存在同步设备列表,如果存在同步设备列表,则执行步骤104,如果不存在同步设备列表,则执行步骤105。
步骤104:数字媒体服务器查询同步设备列表中的每一数字媒体播放器是否处于开启及联机状态,若任一数字媒体播放器不处于开启及联机状态则执行步骤106,若每一数字媒体播放器皆处于开启及联机状态则执行步骤107。
步骤105:数字媒体服务器向数字媒体控制器发送无同步设备列表信息,并执行步骤110。
步骤106:数字媒体服务器清除同步设备列表中未处于开启及联机状态的数字媒体播放器,并执行步骤107。
步骤107:数字媒体服务器向数字媒体控制器发送可以同步播放媒体资源的数字媒体播放器信息,并执行步骤108。
步骤108:数字媒体控制器询问用户是否同步播放该媒体资源,如果用户选择同步播放,则执行步骤109,如果用户选择不同步播放,则执行步骤110。
步骤109:数字媒体控制器向数字媒体服务器发出该媒体资源的同步推送指令,数字媒体服务器同时向同步设备列表中的数字媒体播放器推送该媒体资源,而后执行步骤111。
步骤110:不播放该媒体资源,本流程结束。
步骤111:同步设备列表中的数字媒体播放器开始获取该媒体资源。
步骤112:当同步设备列表中的数字媒体播放器取得该媒体资源时,向数字媒体控制器发出媒体资源就绪通知。
步骤113:数字媒体控制器查询同步设备列表中所有的数字媒体播放器是否都已就绪,若是,则执行步骤114,若否,则继续执行本步骤。
步骤114:数字媒体控制器向同步设备列表中的所有的数字媒体播放器发出同步播放指令以同步播放该媒体资源。
现有的同步多个播放装置的音频播放的方法存在着以下问题。如步骤114所示,当同步设备列表中所有的数字媒体播放器皆已就绪后,数字媒体控制器向同步设备列表中的所有的数字媒体播放器发出同步播放指令而使所有的数字媒体播放器开始播放该媒体资源。但因传输距离、传输速度、网络稳定度等因素的影响,数字媒体播放器发出的同步播放指令很可能无法同时传送至所有的数字媒体播放器,故当其中一数字媒体播放器接收同步播放指令并开始音频播放时,其余数字媒体播放器可能尚未收到同步播放指令,最终多个数字媒体播放器之间仍将产生明显的不同步状况。
因此,需要一种改良的同步多个播放装置的音频播放的方法,以改善现有的同步多个播放装置的音频播放的方法的问题。
发明内容
本发明要解决的技术问题在于,针对现有技术存在的上述不足,提供一种较准确的符合数字生活网络联盟协议的同步多个播放装置的音频播放的方法及音频播放系统。
本发明解决其技术问题所采用的技术方案是提供一种同步多个播放装置的音频播放的方法,用以同步一第一播放装置与一第二播放装置的音频播放,该方法包括:
(A)设定该第一播放装置为一主播放装置,其中该第一播放装置具有一第一运作状态而该第二播放装置具有一第二运作状态;
(B)使该第一播放装置传送该第一运作状态至该第二播放装置而使该第二播放装置切换该第二运作状态为该第一运作状态;
(C)使用一数字媒体控制器传送一动作指令;
(D)该第一播放装置接收该动作指令而传送该第一播放装置的一第一时间信息至该第二播放装置;
(E)该第二播放装置比较该第一播放装置的该第一时间信息与该第二播放装置的一第二时间信息,以控制该第二播放装置与该第一播放装置依据该动作指令同步开始音频播放;以及
(F)于该第一播放装置及该第二播放装置开始音频播放后,该第二播放装置持续接收该第一播放装置的该第一时间信息,并比较该第一时间信息与该第二时间信息,以调整该第二播放装置的播放进度,使该第二播放装置的音频播放同步于该第一播放装置的音频播放。
较佳地,该步骤(A)还包括:使用该数字媒体控制器设定该第一播放装置与该第二播放装置为一播放群组。
较佳地,该步骤(A)于设定该第一播放装置与该第二播放装置为该播放群组之后还包括以下步骤:同步该第一播放装置的一第一系统时间与该第二播放装置的一第二系统时间。
较佳地,该步骤(A)还包括以下步骤:该数字媒体控制器传送该播放群组的一延迟时间予该第一播放装置。
较佳地,该步骤(A)还包括以下步骤:该第一播放装置传送一播放群组信息至该第二播放装置。
较佳地,于该步骤(B)或该步骤(D)中,该第一播放装置以无线方式自一数字媒体服务器取得一音频文件的至少一音频数据并将该音频文件的该至少一音频数据传送至该第二播放装置。
较佳地,该第一时间信息包括一当前第一系统时间、一第一预计播放时间、一第一播放进度与一第一初始播放时间中的至少一者,该第二时间信息包括一当前第二系统时间、一第二预计播放时间、一第二播放进度与一第二初始播放时间中的至少一者,其中,该当前第一系统时间为传送该第一时间信息时的第一系统时间,该当前第二系统时间为接收该第一时间信息时的第二系统时间,该第一预计播放时间与该第二预计播放时间为该第一播放装置与该第二播放装置预计开始播放一音频文件时的第一系统时间与第二系统时间,该第一播放进度与该第二播放进度为该第一播放装置与该第二播放装置已播放的该音频文件的时间长度,该第一初始播放时间与该第二初始播放时间为该第一播放装置与该第二播放装置初次开始播放该音频文件时的第一系统时间与第二系统时间。
较佳地,于该步骤(B)中该第一运作状态为一停止播放状态、一暂停播放状态或一播放状态。
较佳地,当该第一运作状态为该暂停播放状态时,该步骤(B)包括以下步骤:
(B1)使该第一播放装置传送该第一运作状态以及该第一播放进度至该第二播放装置;以及
(B2)使该第二播放装置切换该第二运作状态为该暂停播放状态并设定该第二播放进度超前该第一播放进度一第一默认时间。
较佳地,当该第一运作状态为该播放状态时,该步骤(B)包括以下步骤:
(B3)使该第一播放装置传送该第一运作状态、该第一播放进度、该第一初始播放时间以及该当前第一系统时间至该第二播放装置;
(B4)判断该第一播放进度与该第一初始播放时间的总和是否等于该当前第一系统时间,若是则执行步骤(B5),若否则执行步骤(B6);
(B5)该第二播放装置计算该当前第二系统时间与该第一初始播放时间的差值以得到该第一播放装置的一第一延迟播放进度并执行步骤(B7)以及步骤(B8);
(B6)该第二播放装置计算该当前第二系统时间与该当前第一系统时间的差值,并计算该差值与该第一播放进度的总和以得到该第一播放装置的一第二延迟播放进度并执行步骤(B7)以及步骤(B8);
(B7)该第二播放装置设定该第二播放进度超前该第一延迟播放进度或该第二延迟播放进度一第二默认时间;以及
(B8)该第二播放装置计算该当前第一系统时间与该第一初始播放时间的差值以及该第二播放进度与该第一播放进度的差值,并于该第二系统时间大于等于该二差值与该第一初始播放时间的总和时控制该第二播放装置开始音频播放而切换该第二运作状态为该播放状态。
较佳地,当该动作指令为一播放指令时,该步骤(E)包括以下步骤:
(E1)控制该第二播放装置于该第二系统时间大于等于该第一预计播放时间时开始音频播放,其中该第一预计播放时间为该当前第一系统时间与一延迟时间的总和,该第一播放装置于该第一预计播放时间开始音频播放。
较佳地,当该动作指令为一再次播放指令时,该步骤(E)包括以下步骤:
(E2)计算该第二播放进度与该第一播放进度的差值;以及
(E3)控制该第二播放装置于该第二系统时间大于等于该第一预计播放时间与该差值的总和时开始音频播放,其中该第一预计播放时间为该当前第一系统时间与一延迟时间的总和,该第一播放装置于该第一预计播放时间开始音频播放。
较佳地,当该动作指令为一快转指令时,该步骤(E)包括以下步骤:
(E4)使该第一播放装置与该第二播放装置依据该快转指令重设该第一播放进度与该第二播放进度;以及
(E5)控制该第二播放装置于该第二系统时间大于等于该第一预计播放时间时开始音频播放,其中该第一预计播放时间为该当前第一系统时间与一延迟时间的总和,该第一播放装置于该第一预计播放时间开始音频播放。
较佳地,该步骤(F)包括以下步骤:
(F1)该第一播放装置传送该当前第一系统时间与该第一播放进度至该第二播放装置;
(F2)该第二播放装置计算该当前第二系统时间与该当前第一系统时间的差值,并计算该差值与该第一播放进度的总和以得到该第一播放装置的一第三延迟播放进度;
(F3)该第二播放装置计算该第二播放进度与该第三延迟播放进度的差值以得到一音频播放时间差;
(F4)重复该步骤(F1)至该步骤(F3)以得到多个音频播放时间差并计算该多个音频播放时间差的一平均时间差值;
(F5)该第二播放装置将该平均时间差值转换为需要调整的一音频数据位元数量;以及
(F6)该第二播放装置依据该音频数据位元数量来控制该第二播放装置的音频播放。
本发明还提供一种音频播放系统,其包括一数字媒体控制器、一第一播放装置以及一第二播放装置,其中:
该数字媒体控制器用于设定该第一播放装置为一主播放装置并传送一动作指令;
该第一播放装置包括一第一数字媒体播放器控制模块以及一第一数字媒体控制器控制模块,其中该第一数字媒体播放器控制模块用于传送该第一播放装置的一第一运作状态及一第一时间信息至该第二播放装置;
该第二播放装置包括一第二数字媒体播放器控制模块以及一第二数字媒体控制器控制模块,其中该第二数字媒体控制器控制模块包括一同步单元以及一锁相回路单元,其中:
该同步单元用于接收该第一播放装置的该第一运作状态而使该第二播放装置切换该第二运作状态为该第一运作状态,并用于比较该第一播放装置的该第一时间信息与该第二播放装置的一第二时间信息,以控制该第二播放装置与该第一播放装置依据该动作指令同步开始音频播放;以及
该锁相回路单元用以于该第一播放装置及该第二播放装置开始音频播放后,持续接收该第一播放装置的该第一时间信息,并比较该第一时间信息与该第二时间信息,以调整该第二播放装置的播放进度,使该第二播放装置的音频播放同步于该第一播放装置的音频播放。
较佳地,该数字媒体控制器还用于设定该第一播放装置与该第二播放装置为一播放群组。
较佳地,该数字媒体控制器还用于传送该播放群组的一延迟时间予该第一播放装置的该第一数字媒体播放器控制模块。
较佳地,该第一播放装置的该第一数字媒体播放器控制模块还用于传送一播放群组信息至该第二播放装置的该第二数字媒体播放器控制模块。
较佳地,该第一播放装置的该第一数字媒体播放器控制模块以无线方式自一数字媒体服务器取得一音频文件的至少一音频数据并将该音频文件的该至少一音频数据传送至该第二播放装置的该第二数字媒体控制器控制模块。
较佳地,该第一时间信息包括一当前第一系统时间、一第一预计播放时间、一第一播放进度与一第一初始播放时间中的至少一者,该第二时间信息包括一当前第二系统时间、一第二预计播放时间、一第二播放进度与一第二初始播放时间中的至少一者,其中,该当前第一系统时间为传送该第一时间信息时的第一系统时间,该当前第二系统时间为接收该第一时间信息时的第二系统时间,该第一预计播放时间与该第二预计播放时间为该第一播放装置与该第二播放装置预计开始播放一音频文件时的第一系统时间与第二系统时间,该第一播放进度与该第二播放进度为该第一播放装置与该第二播放装置已播放的该音频文件的时间长度,该第一初始播放时间与该第二初始播放时间为该第一播放装置与该第二播放装置初次开始播放该音频文件时的第一系统时间与第二系统时间。
较佳地,该第一运作状态为一停止播放状态、一暂停播放状态或一播放状态。
较佳地,当该第一运作状态为一暂停播放状态时,该第一播放装置的该第一数字媒体播放器控制模块传送该第一运作状态以及该第一播放进度至该第二播放装置的该同步单元,且该同步单元切换该第二运作状态为该暂停播放状态并设定该第二播放装置的该第二播放进度超前该第一播放进度一第一默认时间。
较佳地,当该第一运作状态为一播放状态时,该第一播放装置的该第一数字媒体播放器控制模块传送该第一运作状态、该第一播放进度、该第一初始播放时间以及该第一系统时间至该第二播放装置的该第二数字媒体控制器控制模块的该同步单元,该同步单元判断该第一播放进度与该第一初始播放时间的总和是否等于该当前第一系统时间,若是则该同步单元计算该当前第二系统时间与该第一初始播放时间的差值以得到该第一播放装置的一第一延迟播放进度,若否则该同步单元计算该当前第二系统时间与该当前第一系统时间的差值,并计算该差值与该第一播放进度的总和以得到该第一播放装置的一第二延迟播放进度,且该同步单元设定该第二播放进度超前该第一延迟播放进度或该第二延迟播放进度一第二默认时间,并计算该当前第一系统时间与该第一初始播放时间的一差值以及该第二播放进度与该第一播放进度的一差值,并于该第二系统时间大于等于该二差值与该第一初始播放时间的总和时控制该第二播放装置开始音频播放而切换该第二运作状态为该播放状态。
较佳地,当该动作指令为一播放指令时,该第二数字媒体控制器控制模块的该同步单元控制该第二播放装置于该第二系统时间大于等于该第一预计播放时间时开始音频播放,其中该第一预计播放时间为该当前第一系统时间与一延迟时间的总和,该第一播放装置于该第一预计播放时间开始音频播放。
较佳地,当该动作指令为一再次播放指令时,该第二数字媒体控制器控制模块的该同步单元计算该第二播放进度与该第一播放进度的差值并控制该第二播放装置于该第二系统时间大于等于该第一预计播放时间与该差值的总和时开始音频播放,其中该第一预计播放时间为该当前第一系统时间与一延迟时间的总和,该第一播放装置于该第一预计播放时间开始音频播放。
较佳地,当该动作指令为一快转指令时,该第一数字媒体播放器控制模块与该第二数字媒体控制器控制模块的该同步单元依据该快转指令重设该第一播放进度与该第二播放进度,且该同步单元控制该第二播放装置于该第二系统时间大于等于该第一预计播放时间时开始音频播放,其中该第一预计播放时间为该当前第一系统时间与一延迟时间的总和,该第一播放装置于该第一预计播放时间开始音频播放。
较佳地,该锁相回路单元包括一网络信号延迟补偿单元、一误差计算单元、一平均单元以及一音频调整单元,该网络信号延迟补偿单元用于接收该第一数字媒体播放器控制模块传送的该当前第一系统时间与该第一播放进度,并依据该当前第二系统时间与该当前第一系统时间的差值以及该差值与该第一播放进度的总和得到该第一播放装置的一第三延迟播放进度;该误差计算单元用于依据该第二播放进度与该第三延迟播放进度的差值得到一音频播放时间差;该平均单元用以接收多个音频播放时间差并计算多个该音频播放时间差的一平均时间差值;该音频调整单元用于将该平均时间差值转换为需要调整的一音频数据位元数量,并依据该音频数据位元数量来控制该第二播放装置的音频播放。
本发明利用同步单元比较第一时间信息与第二时间信息而使第一播放装置与第二播放装置同步开始音频播放,并藉由锁相回路单元于音频播放过程中持续计算第一播放装置与第二播放装置的音频播放时间差,再依据音频播放时间差调整第二播放装置的播放进度,进而确保了第二播放装置的音频播放同步于第一播放装置的音频播放。因此,本发明解决了因传输距离、传输速度、网络稳定度等因素的影响而使多个播放装置的音频播放不同步的问题,令多个播放装置的音频播放可保持同步。
具体实施方式
本发明提供一种同步多个播放装置的音频播放的方法及音频播放系统。首先说明本发明的音频播放系统,请同时参阅图2,图2为本发明的音频播放系统的方块图。
音频播放系统2包括数字媒体控制器21(DMC)、第一播放装置22、第二播放装置23以及数字媒体服务器24(DMS)。其中第一播放装置22包括第一数字媒体播放器(DMR)控制模块221、第一数字媒体控制器(DMC)控制模块222以及第一播放(PLAYER)模块223,且第一数字媒体控制器控制模块222包括同步单元2221以及锁相回路单元2222。第二播放装置23包括第二数字媒体播放器(DMR)控制模块231、第二数字媒体控制器(DMC)控制模块232以及第二播放(PLAYER)模块233,且第二数字媒体控制器控制模块232包括同步单元2321以及锁相回路单元2322。
由于同步一第一播放装置22与一第二播放装置23的音频播放的操作可轻易延伸至同步一第一播放装置22与多个第二播放装置23的音频播放的操作,因此,在不影响本发明的技术揭露之下,为了简洁起见,于本例中仅以两个播放装置的情况进行说明,实际上,音频播放系统2亦可设置有两个以上的播放装置。
于本发明中数字媒体服务器24将以无线方式提供一音频文件的至少一音频数据予第一播放装置22,且由第一播放装置22的第一数字媒体播放器控制模块221接收音频文件的至少一音频数据并以无线方式将音频文件的至少一音频数据传送至第二播放装置23。而后第一播放装置22的第一播放模块223与第二播放装置23的第二播放模块233会分别基于音频文件的至少一音频数据进行音频播放。
由于传输上或是起始状态的不稳定,往往不能保证音频播放系统2中的第一播放装置22以及第二播放装置23的音频播放永远维持同步,因此,于本发明中第一播放装置22的第一数字媒体播放器控制模块221以及第二播放装置23的第二数字媒体控制器控制模块232会经由适当设计来控制第一播放装置22以及第二播放装置23之间的音频播放的同步。
接下来说明本发明的同步多个播放装置的音频播放的方法,请同时参照图2至图4,图3是本发明同步多个播放装置的音频播放的方法的流程图,图4是本发明数字媒体控制器的播放群组设定界面示意图。
首先,如图3的步骤(A)所示,当使用者开启数字媒体控制器21的一应用程序并选择一群组设定选项后,将显示如图4所示的播放群组设定界面25。于本例中数字媒体控制器21可以是,例如手机或平板电脑,应用程序可以是数字媒体控制器21内建或者由使用者额外安装,但不以此为限。此外,图4所示的播放群组设定界面25仅为例示说明之用,并非用以限定本发明的播放群组设定界面的形式。
播放群组设定界面25中将显示同一网域中的所有符合DLNA规范的播放装置,例如图4所示的第一播放装置22、第二播放装置23以及其他播放装置26,于是使用者可选择将任意播放装置加入播放群组G并设定主播放装置。
于本例中使用者将选择第一播放装置22以及第二播放装置23加入播放群组G,并设定第一播放装置22为主播放装置。由于第一播放装置22为主播放装置,因此第二播放装置23将以第一播放装置22为基准进行音频播放。
需要说明的是,使用者可于任何时间再次使用播放群组设定界面25将其他播放装置26加入播放群组G,而被加入播放群组G的其他播放装置26将被视为第二播放装置23以进行后续流程。
当使用者完成播放群组设定后,第一播放装置22与第二播放装置23将同步其第一系统时间Sm与第二系统时间Ss,且数字媒体控制器21传送播放群组G的延迟时间Td至第一播放装置22以供后续使用。以下将以延迟时间Td为10秒钟的情况进行说明,但延迟时间Td可以是任意时间长度,并不以10秒钟为限。
此外,于步骤(A)中第一播放装置22的第一数字媒体播放器控制模块221还将传送播放群组信息至第二播放装置23的第二数字媒体播放器控制模块231,播放群组信息包含群组中所有播放装置的信息以及主播放装置的信息。
在接下来的流程中,主播放装置,即第一播放装置22的第一数字媒体播放器控制模块221将依需求传送第一时间信息Tm、音频数据以及动作指令至第二播放装置23的同步单元2321,而同步单元2321将依据第一时间信息Tm以及第二播放装置23的第二时间信息Ts进行音频播放的同步作业,以下将进一步说明。
于本发明中第一时间信息Tm包括当前第一系统时间Sm1、第一预计播放时间Pm、第一播放进度Dm与第一初始播放时间Cm中的至少一者,第二时间信息Ts包括当前第二系统时间Ss1、第二预计播放时间Ps、第二播放进度Ds与第二初始播放时间Cs中的至少一者。
其中,当前第一系统时间Sm1为第一播放装置22传送第一时间信息Tm时的第一系统时间Sm,当前第二系统时间Ss1为第二播放装置23接收第一时间信息Tm时的第二系统时间Ss。第一预计播放时间Pm与第二预计播放时间Ps为第一播放装置22与第二播放装置23预计开始播放某一音频文件时的第一系统时间Sm与第二系统时间Ss,此处的开始播放包括从头播放及自暂停处开始播放。第一播放进度Dm与第二播放进度Ds为第一播放装置22与第二播放装置23已播放的某一音频文件的时间长度。第一初始播放时间Cm与第二初始播放时间Cs为第一播放装置22与第二播放装置23初次开始播放某一音频文件时的第一系统时间Sm与第二系统时间Ss。
接下来说明本发明的步骤(B)。由于第一播放装置22及第二播放装置23于被加入播放群组G之前可能各自具有不同的运作状态,为使第二播放装置23的音频播放同步于主播放装置,即第一播放装置22的音频播放,必须先执行图3的步骤(B),使第一播放装置22传送其第一运作状态至第二播放装置23而使第二播放装置23切换其第二运作状态为第一运作状态。
于本发明中第一播放装置22的第一运作状态可能是停止播放状态(STOP)、暂停播放状态(PAUSE)或播放状态(PLAY)中的一者,第二播放装置23的第二运作状态亦可能是停止播放状态(STOP)、暂停播放状态(PAUSE)或播放状态(PLAY)中的一者。
首先说明第一播放装置22的第一运作状态为停止播放状态时的步骤(B)的详细流程。当第一播放装置22的第一运作状态为停止播放状态时,于第一数字媒体播放器控制模块221传送第一播放装置22的第一运作状态至第二播放装置23的第二数字媒体控制器控制模块232的同步单元2321后,同步单元2321即直接切换第二播放装置23的第二运作状态为停止播放状态。
接下来说明第一播放装置22的第一运作状态为暂停播放状态时的步骤(B)的详细流程。当第一播放装置22的第一运作状态为暂停播放状态时,第一播放装置22的第一数字媒体播放器控制模块221除了传送第一运作状态至第二播放装置23的同步单元2321外,还需传送第一播放进度Dm至第二播放装置23的同步单元2321。其中第一播放进度Dm为第一播放装置22暂停音频播放时已播放的音频文件的时间长度。
于第二播放装置23的同步单元2321接收第一运作状态与第一播放进度Dm后,同步单元2321首先将第二播放装置23的第二运作状态切换为暂停播放状态,并设定第二播放装置23的第二播放进度Ds超前第一播放进度Dm一第一默认时间,于本例中第一预设时间可以是,例如1秒钟,但不以此为限。
举例来说,若第一播放装置22的第一播放进度Dm为已播放01分10秒的音频文件,则第二播放装置23的第二播放进度Ds将被设定为已播放01分11秒的音频文件。
接着说明第一播放装置22的第一运作状态为播放状态时的步骤(B)的详细流程。当第一播放装置22的第一运作状态为播放状态时,第一播放装置22的第一数字媒体播放器控制模块221除了传送第一运作状态至第二播放装置23的同步单元2321外,还需传送第一播放进度Dm、第一初始播放时间Cm以及当前第一系统时间Sm1至第二播放装置23的同步单元2321。
第一初始播放时间Cm即第一播放装置22初始播放一音频文件时的第一系统时间Sm,意即第一播放装置22开始播放音频文件的第一笔音频数据时的第一系统时间Sm。
接下来,同步单元2321将计算第一播放进度Dm与第一初始播放时间Cm的总和,即Dm+Cm,并判断Dm+Cm是否等于当前第一系统时间Sm1。
若Dm+Cm等于Sm1,则代表第一播放装置22从未暂停播放音频文件,但若Dm+Cm不等于Sm1,则代表第一播放装置22曾因接收暂停播放指令或网络不稳定等原因而暂停播放音频文件。
当Dm+Cm等于Sm1时,由于第一播放装置22从未暂停播放音频文件C,因此同步单元2321接收第一播放进度Dm与第一初始播放Cm时的当前第二系统时间Ss1与第一初始播放时间Cm的差值,即Ss1-Cm,应等于当前第二系统时间Ss1时第一播放装置22的最新播放进度,即第一播放装置22的第一延迟播放进度Dm2。
得到第一延迟播放进度Dm2后,同步单元2321接着设定第二播放进度Ds超前第一延迟播放进度Dm2一第二预设时间,其中第二预设时间可以是例如三秒钟,但不以此为限。举例来说,当第一延迟播放进度Dm2为1分1秒时,同步单元2321将设定第二播放进度Ds为1分4秒,如此第二播放装置23即有充裕的时间计算何时开始播放音频文件才能与第一播放装置22同步播放。
而后同步单元2321计算当前第一系统时间Sm1与第一初始播放时间Cm的一差值,即Sm1-Cm,并计算第二播放进度Ds与第一播放进度Dm的一差值,即Ds-Dm。
由于Sm1-Cm、Ds-Dm及第一初始播放时间Cm的总和,即(Sm1-Cm)+(Ds-Dm)+Cm,代表第一播放装置22播放至第二播放进度Ds时的第一系统时间Sm,因此同步单元2321将控制第二播放装置23于第二系统时间Ss大于等于三者的总和,即Ss≧(Sm1-Cm)+(Ds-Dm)+Cm时自第二播放进度Ds开始音频播放。
而当Dm+Cm不等于Sm1时,由于第一播放装置22曾因接收暂停播放指令或网络不稳定等原因而暂停播放音频文件,因此同步单元2321将先计算接收来自第一播放装置22的信息时的当前第二系统时间Ss1与第一播放装置22传送信息至第二播放装置23时的当前第一系统时间Sm1的一差值,即Ss1-Sm1,以得到第一播放装置22传送信息至第二播放装置23所花费的时间。
而后同步单元2321再计算第一播放进度Dm与传送数据所花费的时间的总和,即(Ss1-Sm1)+Dm,即能得到第二播放装置23接收来自第一播放装置22的信息时,第一播放装置22的最新播放进度,即第二延迟播放进度Dm3。
得到第二延迟播放进度Dm3后,同步单元2321接着设定第二播放进度Ds超前第二延迟播放进度Dm3一第二预设时间,其中第二预设时间可以是例如三秒钟,但不以此为限。
而后同步单元2321计算当前第一系统时间Sm1与第一初始播放时间Cm的一差值,即Sm1-Cm,并计算第二播放进度Ds与第一播放进度Dm的一差值,即Ds-Dm,以控制第二播放装置23于第二系统时间Ss大于等于三者的总和,即Ss≧(Sm1-Cm)+(Ds-Dm)+Cm时自第二播放进度Ds开始音频播放。
至此同步单元2321完成切换第二播放装置23的第二运作状态为第一播放装置22的第一运作状态并使第二播放装置23的音频播放同步于第一播放装置22的音频播放的目的。
接下来请参照图2、图3及图5,图5是本发明的数字媒体控制器的操作界面示意图。于步骤(B)后,使用者可利用如图5所示的数字媒体控制器21的操作界面27选择其中一数字媒体服务器24及其所具有的一音频文件,并传送一动作指令至播放群组G,而使第一播放装置22与第二播放装置23同步播放使用者选定的音频文件,如步骤(C)所示。需要说明的是,数字媒体服务器24所传送的动作指令可由第一播放装置22接收并传送至第二播放装置23,亦可以由第二播放装置23接收并传送至第一播放装置22。
于本发明中动作指令可以是,例如播放指令(PLAY)、再次播放指令(REPLAY)或快转指令(SEEK),但不以此为限。此外,图5的操作界面27仅为例示说明的用,并非用以限定本发明的操作界面的形式。
当第一播放装置22以及第二播放装置23皆处于停止播放状态时,使用者可藉由操作界面27传送播放指令至播放群组G。第一播放装置22的第一数字媒体播放器控制模块221接收播放指令后将传送第一时间信息Tm至第二播放装置23的同步单元2321,如步骤(D)所示。
同时第一数字媒体播放器控制模块221将以无线方式自数字媒体服务器24取得音频文件的至少一音频数据并将至少一音频数据传送至第二播放装置23的第二数字媒体控制器控制模块232。
接下来,第二播放装置23的同步单元2321比较第一时间信息Tm与储存于第二播放装置23内的第二时间信息Ts,以控制第二播放装置23与第一播放装置22依据播放指令同步开始播放音频文件的第一笔音频数据,如步骤(E)所示。以下将进一步说明。
详细的说,第一播放装置22于接收播放指令后并不会立刻开始播放音频文件,其原因在于第一播放装置22将第一时间信息Tm传送给第二播放装置23需要一定时间,第二播放装置23接收第一时间信息Tm后亦需一定处理时间,因此第一播放装置22的第一数字媒体播放器控制模块221将控制第一播放装置22于传送第一时间信息Tm后等待一延迟时间Td再开始播放音频文件。
其中传送第一时间信息Tm时的当前第一系统时间Sm1往后推迟一延迟时间Td所对应的时间点即为第一预计播放时间Pm。如前所述,第一延迟时间Td为10秒钟,因此假若第一播放装置22传送第一时间信息Tm时的当前第一系统时间Sm1为1时1分1秒,则第一预计播放时间Pm所对应的第一系统时间Sm即为往后10秒钟的1时1分11秒。
为使第一播放装置22与第二播放装置23同步开始音频播放,第二播放装置23应于第二系统时间Ss等于第一预计播放时间Pm时开始音频播放,但第二播放装置23可能因为网络等待时间等原因而无法准时于第二系统时间Ss等于第一预计播放时间Pm时开始音频播放,为避免第二播放装置23因此停止运作,同步单元2321将控制第二播放装置23于第二系统时间Ss大于等于第一预计播放时间Pm,即Ss≧Pm时开始播放音频文件的第一笔音频数据。
当第一播放装置22以及第二播放装置23皆处于暂停播放状态时,使用者可利用如图5所示的数字媒体控制器21的操作界面27传送再次播放指令至播放群组G,如图3的步骤(C)所示。
第一播放装置22的第一数字媒体播放器控制模块221接收再次播放指令后,将传送第一时间信息Tm至第二播放装置23的同步单元2321,如步骤(D)所示。
同时第一数字媒体播放器控制模块221将以无线方式自数字媒体服务器24取得音频文件的至少一音频数据并将至少一音频数据传送至第二播放装置23的第二数字媒体控制器控制模块232。
接下来,第二播放装置23的同步单元2321比较第一时间信息Tm与储存于第二播放装置23内的第二时间信息Ts,以控制第二播放装置23与第一播放装置22依据再次播放指令同步开始播放音频文件,如步骤(E)所示。以下将进一步说明。
详细的说,同步单元2321接收第一时间信息Tm后,将先计算第二播放进度Ds与第一播放进度Dm的差值,即Ds-Dm,以确认当第一播放装置22与第二播放装置23暂停播放音频文件时,其已播放的音频文件的时间长度是否相同。
举例来说,若第一播放进度Dm为已播放01分10秒的音频文件,第二播放进度Ds为已播放01分11秒的音频文件,则Ds-Dm=1,因此同步单元2321应控制第二播放装置23较第一播放装置22延后1秒钟开始进行音频播放,如此第二播放装置23的音频播放才能同步于第一播放装置22的音频播放。
如前所述,第一播放装置22将于第一预计播放时间Pm(即Sm1+Td)时开始音频播放,因此同步单元2321将控制第二播放装置23于第二系统时间Ss大于等于第一预计播放时间Pm与第二播放进度Ds及第一播放进度Dm的差值的总和,即Ss≧(Ds-Dm)+Pm时开始音频播放。
当第一播放装置22以及第二播放装置23皆处于播放状态时,使用者可利用如图5所示的数字媒体控制器21的操作界面27传送快转指令至播放群组G,如图3的步骤(C)所示。
第一播放装置22的第一数字媒体播放器控制模块221接收快转指令后,将传送第一时间信息Tm至第二播放装置23的同步单元2321,如步骤(D)所示,同时第一数字媒体播放器控制模块221将以无线方式自数字媒体服务器24取得音频文件的至少一音频数据并将至少一音频数据传送至第二播放装置23的第二数字媒体控制器控制模块232。
接下来,第二播放装置23的同步单元2321比较第一时间信息Tm与储存于第二播放装置23内的第二时间信息Ts,以控制第二播放装置23与第一播放装置22依据快转指令同步开始播放音频文件C,如步骤(E)所示。以下将进一步说明。
快转指令的目的在于改变第一播放装置22以及第二播放装置23的播放进度。举例来说,于第一播放装置22及第二播放装置23正播放至音频文件的1分1秒处时,使用者可藉由移动播放进度条等方式使第一播放装置22及第二播放装置23立刻自音频文件的其他时间点,例如3分0秒处等开始音频播放。
因此第一数字媒体播放器控制模块221于接收快转指令后首先需重设其第一播放进度Dm为使用者所指定的时间点,而同步单元2321于接收快转指令后亦先需重设其第二播放进度Ds至使用者所指令的时间点。
如前所述第一播放装置22将于第一预计播放时间Pm(即Sm1+Td)时开始音频播放,且第一播放装置22与第二播放装置23于收到快转指令时重设的第一播放进度Dm与第二播放进度Ds并无误差,因此同步单元2321将控制第二播放装置23于第二系统时间Ss大于等于第一预计播放时间Pm,即Ss≧(Ds-Dm)+Pm时自重设的第一播放进度Dm与第二播放进度Ds开始音频播放。
接着请参照图2、图3及图6,图6是本发明的锁相回路单元的方块图。于步骤(E)后,第一播放装置22与第二播放装置23皆开始音频播放时,第二播放装置23的锁相回路单元2322将执行步骤(F),持续接收第一播放装置22的第一时间信息Tm并比较第一时间信息Tm与第二时间信息Ts,以调整第二播放装置23的播放进度而使第二播放装置23的音频播放同步于第一播放装置的音频播放。
详细的说,锁相回路单元2322的网络信号延迟补偿单元23221将每隔一固定时间自第一数字媒体播放器控制模块221取得第一播放装置22的当前第一系统时间Sm1与第一播放进度Dm。其中固定时间可以是一秒钟,但不以此为限。
由于第二播放装置23接收当前第一系统时间Sm1与第一播放进度Dm需经过一定传输时间,因此当第二播放装置23取得第一播放进度Dm时,第一播放装置22的最新播放进度早已超前第一播放进度Dm,故网络信号延迟补偿单元23221需先计算其接收当前第一系统时间Sm1与第一播放进度Dm时,第一播放装置22的最新播放进度。以下将进一步说明。
首先,网络信号延迟补偿单元23221计算接收第一时间信息Tm时的当前第二系统时间Ss1与传送第一时间信息Tm时的当前第一系统时间Sm1的一差值,即Ss1-Sm1,而得到传送第一时间信息Tm所花费的时间。
而后网络信号延迟补偿单元23221再计算Ss1-Sm1与第一播放进度Dm之和,即(Ss1-Sm1)+Dm,即能得到网络信号延迟补偿单元23221接收当前第一系统时间Sm1与第一播放进度Dm时第一播放装置22的最新播放进度,即第一播放装置22的第三延迟播放进度Dm1。
接下来,锁相回路单元2322的误差计算单元23222计算接收第一时间信息Tm时的第二播放进度Ds与第三延迟播放进度Dm1的一差值,即Ds-Dm1而得到第一播放装置22与第二播放装置23的音频播放时间差。
依据音频播放时间差即能得知第一播放装置22与第二播放装置23是否处于一同步播放状态,例如当音频播放时间差为一秒钟时,即代表第二播放装置23的播放进度超前第一播放装置22一秒钟,相反的,当音频播放时间差为负一秒钟时,则代表第二播放装置23的播放进度落后第一播放装置22一秒钟。
如前所述,网络信号延迟补偿单元23221将每隔一固定时间自第一数字媒体播放器控制模块221取得第一播放装置22的当前第一系统时间Sm1与第一播放进度Dm,因此网络信号延迟补偿单元23221及误差计算单元23222将重复上述步骤而计算出不同时间点的多笔音频播放时间差。
误差计算单元23222每一次计算出音频播放时间差后,并不会立刻调整第二播放装置23的播放进度,而会先将音频播放时间差传送至锁相回路单元2322的平均单元23223。其理由在于每一音频播放时间差可能极为微小甚至等于0,当音频播放时间差极为微小时人耳并无法察觉第二播放装置23与第一播放装置22的音频播放不同步,因此没有依据单一音频播放时间差调整播放进度的必要。
而平均单元23223将于得到多个音频播放时间差后,例如100笔音频播放时间差,但不以此为限,计算多个音频播放时间差的平均值而得到一平均时间差值。
依据音频文件的取样频率(Sampling Rate)、位元深度(Bit depth)以及声道数(channel)的不同,第一播放装置22与第二播放装置23一秒钟所能播放的音频数据位元数量并不相同。以WAV文件为例,当其取样频率为每秒44100次,位元深度为16位元且声道数为双声道时,其每秒钟产生的音频数据位元数量为16(位元)×2(声道)×44,100(取样频率)等于1,411,200位元。
因此音频调整单元23224得以依据平均时间差值得知第二播放装置23需要调整的一音频数据位元数量并依据音频数据位元数量控制第二播放装置23的音频播放。举例来说,若音频文件为WAV文件且平均时间差值为一秒钟,即第二播放装置23的播放进度超前第一播放装置22一秒钟时,音频调整单元23224将使第二播放装置23播放1,411,200位元的空白数据,但若平均时间差值为负一秒钟,即第二播放装置23的播放进度落后第一播放装置22一秒钟时,音频调整单元23224将使第二播放装置23跳过其中1,411,200位元的音频数据而直接播放该1,411,200位元的音频数据的后一笔音频数据。以上两种作法的结果都将使第二播放装置23的音频播放同步于第一播放装置22的音频播放。
需要说明的是,若平均时间差值太大时,为避免音频调整单元23224作业过程中被人耳察觉,音频调整单元23224可一次调整部分音频数据位元并分数次完成。
根据上述各实施例可知,本发明利用同步单元2321比较第一时间信息Tm与第二时间信息Ts而使第一播放装置22与第二播放装置23同步开始音频播放,并藉由锁相回路单元2322于音频播放过程中持续计算第一播放装置22与第二播放装置23的音频播放时间差,再依据音频播放时间差调整第二播放装置23的播放进度,进而确保了第二播放装置23的音频播放同步于第一播放装置22的音频播放。因此,本发明解决了因传输距离、传输速度、网络稳定度等因素的影响而使多个播放装置的音频播放不同步的问题。
以上所述仅为本发明的较佳实施例,并非用以限定本发明的权利要求范围,因此凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含于本发明的范围内。