CN117750492A - 一种同步播放方法、电子设备及计算机可读存储介质 - Google Patents
一种同步播放方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117750492A CN117750492A CN202410189015.0A CN202410189015A CN117750492A CN 117750492 A CN117750492 A CN 117750492A CN 202410189015 A CN202410189015 A CN 202410189015A CN 117750492 A CN117750492 A CN 117750492A
- Authority
- CN
- China
- Prior art keywords
- time
- playing
- progress
- media file
- bluetooth low
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000036316 preload Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种同步播放方法、电子设备及计算机可读存储介质,涉及计算机技术领域。该方法通过第一设备播放第一媒体文件,接收第二设备发送的第一蓝牙低功耗广播,第一蓝牙低功耗广播中携带有第一进度,第一进度为第二设备正在播放的第一媒体文件的播放进度,以及响应于第一蓝牙低功耗广播,将第一媒体文件的播放进度切换至第二进度,第二进度根据第一进度和第二设备与第一设备之间的传输时延确定,可以在不使用网络的情况下,利用BLE技术和携带有播放进度的BLE广播实现第一设备、第二设备间播放进度的同步。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种同步播放方法、电子设备及计算机可读存储介质。
背景技术
实际生活中,常常存在多个电子设备(例如手机、电视、平板等)同步播放同一段视频的场景。例如,在售卖电子设备的门店中,为了取得较好的视觉观感,常常会使店内的电子设备统一同步播放相同的视频。又例如,在一些大型商业场所中,为了使得投放的广告更醒目,商家可能将多个屏幕摆放在一起,把它们当作一块大屏幕来联合播放一个动态广告,其中每个屏幕显示广告的一部分。在这种情况下,多个设备能够统一播放进度显得尤为重要。
但由于设备硬件、软件差异等客观因素,在长时间播放后,多个电子设备间会逐渐产生播放不同步的情况。目前的主要解决方案是通过云端对多个电子设备进行精准校时来统一播放进度。但这种方案尤其依赖网络质量,对于一些网络质量不好甚至无网络的场景,无法达到统一播放进度、同步播放的效果。
发明内容
本申请实施例提供一种同步播放方法、电子设备及计算机可读存储介质,可以在网络质量不好或者无网络的情况下实现设备间播放进度的同步。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请实施例提供了一种同步播放方法,应用于第一设备,该方法包括:播放第一媒体文件,该第一媒体文件可以为视频文件或音频文件。在第一设备开启蓝牙功能的情况下,第一设备可以接收第二设备发送的第一蓝牙低功耗(bluetooth lowenergy,BLE)广播,该第一BLE广播用于指示第二设备正在播放的媒体文件以及该媒体文件的播放进度。在本申请实施例中,第一BLE广播中携带有第一进度和文件信息,该文件信息用于指示第二设备正在播放的媒体文件,该第一进度则为第二设备正在播放的媒体文件的播放进度。其中,第二设备正在播放的媒体文件可以为第一媒体文件,也可以不为第一媒体文件。在第二设备正在播放的媒体文件同样为第一媒体文件(即文件信息指示第二设备正在播放的第一媒体文件)的情况下,第一设备响应于该第一BLE广播,可以将第一媒体文件的播放进度切换至第二进度,第二进度根据第一进度和第二设备与第一设备之间的传输时延确定。如此,可以在不使用网络的情况下同步第一设备和第二设备之间的播放进度。
在第一方面提供的一种设计方式中,在第一设备播放第一媒体文件之前,第一设备可以接收第二设备发送的第二BLE广播,该第二BLE广播用于指示第二设备即将播放的媒体文件以及第二设备播放该媒体文件的时间。在本申请实施例中,第二BLE广播中可以携带有文件信息和起播时间,该文件信息可用于指示第二设备即将播放的媒体文件,起播时间即为第二设备播放该媒体文件的时间。其中,第二设备即将播放的媒体文件可以为第一媒体文件,也可以不为第一媒体文件。在第二设备即将播放的媒体文件为第一媒体文件(即文件信息指示第二设备即将播放的媒体文件为第一媒体文件)的情况下,第一设备响应于该第二BLE广播,可以在起播时间播放第一媒体文件。这样一来,第一设备和第二设备可以在起播时间同时播放第一媒体文件,使得第一设备和第二设备从开始播放第一媒体文件时就具有良好的同步效果,给用户带来更好的视觉体验。另外,该起播时间可以根据用户的需求进行设置,可以满足用户在不同场景下的需求,有利于提升用户体验。
在第一方面提供的一种设计方式中,上述的第二BLE广播还用于指示第二设备即将播放的媒体文件的起点。在这种情况下,第二BLE广播中还携带有第三进度,第三进度即为第二设备即将播放的媒体文件(例如为第一媒体文件)的起点,例如第三进度对应的播放时刻为第一媒体文件的起始时刻,或者为该第一媒体文件中的其他任意时刻,在此不做具体限制。从而,响应于该第二BLE广播,第一设备可以在起播时间以第三进度为起点播放第一媒体文件。如此一来,用户通过设置该第三进度即可使得第一设备和第二设备以媒体文件的任意进度为起点来播放该媒体文件,不必局限于从头开始播放第一媒体文件的情况,可以满足用户在更多场景下的需求。
在第一方面提供的一种设计方式中,第一设备和第二设备可以不同时播放第一媒体文件,第二设备可以先播放第一媒体文件再发送第二BLE广播,该第二BLE广播用于指示第二设备正在播放的媒体文件(例如为第一媒体文件)和第二设备发送该第二BLE广播时该第一媒体文件的播放进度。相应地,该第二BLE广播可以携带有文件信息和进度信息,该文件信息于指示第二设备正在播放的媒体文件,进度信息用于指示第二设备发送该第二BLE广播时该正在被播放的媒体文件的播放进度。响应于接收到该第二BLE广播,第一设备可以第四进度为起点播放第一媒体文件,该第四进度根据进度信息和传输时延确定。虽然第一设备和第二设备没有在同一时刻开始播放第一媒体文件,但第二设备开始播放第一媒体文件时的播放进度与第一设备正在播放的第一媒体文件的播放进度是一致的,同样能达到在第一设备、第二设备开始播放第一媒体文件时同步该第一媒体文件的播放进度的效果。
在第一方面提供的一种设计方式中,上述的进度信息包括第一时间和第二时间,第一时间为第二设备开始播放第一媒体文件的时间,第二时间为第二设备发送第二BLE广播的时间,第四进度对应的播放时刻为传输时延与第一时间和第二时间之间的时间差的和;或者,该进度信息包括第一时间、第二时间以及第三进度,第三进度为第二设备播放第一媒体文件的起点,第四进度对应的播放时刻为以下三个参数之和,三个参数包括:第三进度对应的播放时刻、第一时间和第二时间之间的时间差以及传输时延。也就是说,进度信息可以包括或不包括该第三进度,在进度信息不包括第三进度的情况下,第二设备可从头播放第一媒体文件,第一设备则基于该第一时间、第二时间以及传输时延确定该第一媒体文件的起播进度;在进度信息包括第三进度的情况下,第二设备以该第三进度为起点播放第一媒体文件,第二设备基于该第三进度、该第一时间、第二时间以及传输时延确定该第一媒体文件的起播进度。
在第一方面提供的一种设计方式中,考虑到第一设备和第二设备对同一视频文件的解码效果不同,使得第一设备、第二设备上同一视频文件在同一进度对应的图像帧不同,进而导致第一设备和第二设备分别所显示的画面并不能达到完全一致。为至少解决上述问题,第一设备中可以存储有第一媒体文件中每帧图像对应的播放时刻,以第一进度对应的播放时刻为第一媒体文件的第四时刻为例,第一设备将第一媒体文件的播放进度切换至第二进度具体可以为:第一设备播放第一媒体文件的第j帧图像,第j帧图像对应的播放时刻为第五时刻,第五时刻是基于第四时刻和传输时延确定的播放时刻。可以理解地,通过预先确定视频文件(例如该第一媒体文件)中每一帧图像的播放时刻,可以使得第一设备、第二设备上同一视频文件在同一播放时刻对应的图像帧是相同的,实现第一设备、第二设备上画面内容的严格同步。
在第一方面提供的一种设计方式中,在第一设备播放第一媒体文件之前,第一设备可以先接收第二设备发送的第三BLE广播,该第三BLE广播用于指示第二设备即将播放的媒体文件。在本申请实施例中,该第三BLE广播可以携带有文件信息,并通过该文件信息指示第二设备即将播放的媒体文件。以第二设备即将播放的媒体文件为第一媒体文件为例,响应于第三BLE广播,第一设备可以根据文件信息加载该第一媒体文件。如此,第二设备可以在播放第一媒体文件前提前做好播放该第一媒体文件的准备,以提升第二设备的播放效率。
在第一方面提供的一种设计方式中,在第一设备加载第一媒体文件后,可以切分该第一媒体文件,得到第一媒体文件包括的每帧图像对应的播放时刻。
在第一方面提供的一种设计方式中,第二设备还可以接收第二设备发送的第四BLE广播,该第四BLE广播中携带有第三时间,第三时间为第二设备发送第四BLE广播的时间。响应于第四蓝BLE广播,第二设备根据接收到第四BLE广播的时间及第三时间确定传输时延。
第二方面,本申请实施例提供了一种同步播放方法,应用于第二设备,方法包括:播放第一媒体文件;发送第一蓝牙低功耗广播;其中,第一蓝牙低功耗广播中携带有文件信息和第一进度,文件信息用于指示第二设备正在播放的媒体文件为第一媒体文件,第一进度为第二设备正在播放的第一媒体文件的播放进度。
在第二方面提供的一种设计方式中,在播放第一媒体文件之前,方法还包括:发送第二蓝牙低功耗广播;其中,第二蓝牙低功耗广播中携带有文件信息和起播时间,文件信息用于指示第二设备即将播放的第一媒体文件,起播时间为第二设备开始播放第一媒体文件的时间;播放第一媒体文件,包括:在起播时间播放第一媒体文件。
在第二方面提供的一种设计方式中,第二蓝牙低功耗广播中还携带有第三进度,第三进度为第二设备播放第一媒体文件的起点;在起播时间播放第一媒体文件,包括:在起播时间以第三进度为起点播放第一媒体文件。
在第二方面提供的一种设计方式中,第二设备中存储有第一媒体文件中每帧图像对应的播放时刻,第三进度对应的播放时刻为第一媒体文件的第六时刻,在起播时间以第三进度为起点播放第一媒体文件包括:在起播时间播放第一媒体文件的第i帧图像,第i帧图像对应的播放时刻为第六时刻。
在第二方面提供的一种设计方式中,在播放第一媒体文件之前,方法还包括:接收触发第一设备和第二设备同步播放第一媒体文件的第一事件;响应于第一事件,切分第一媒体文件,得到第一媒体文件中每帧图像对应的播放时刻。
在第二方面提供的一种设计方式中,在播放第一媒体文件之后,方法还包括:发送第二蓝牙低功耗广播;其中,第二蓝牙低功耗广播中携带有文件信息和进度信息,文件信息用于指示第二设备正在播放的第一媒体文件,进度信息用于指示第二设备发送第二蓝牙低功耗广播时第一媒体文件的播放进度。
在第二方面提供的一种设计方式中,进度信息包括第一时间和第二时间,第一时间为第二设备开始播放第一媒体文件的时间,第二时间为第二设备发送第二蓝牙低功耗广播的时间;或者,进度信息包括第一时间、第二时间以及第三进度,第三进度为第二设备播放第一媒体文件的起点。
在第二方面提供的一种设计方式中,方法还包括:发送第三蓝牙低功耗广播;其中,第三蓝牙低功耗广播携带有文件信息,文件信息用于指示第二设备即将播放第一媒体文件。
在第二方面提供的一种设计方式中,方法还包括:发送第四蓝牙低功耗广播;其中,第四蓝牙低功耗广播携带有第三时间,第三时间为第二设备发送第四蓝牙低功耗广播的时间。
第三方面,本申请实施例提供了一种同步播放方法,应用于同步播放系统,同步播放系统包括第一设备和第二设备,方法包括:第一设备、第二设备分别播放第一媒体文件;第二设备发送第一蓝牙低功耗广播;其中,第一蓝牙低功耗广播中携带有文件信息和第一进度,文件信息用于指示第二设备正在播放的媒体文件为第一媒体文件,第一进度为第二设备上播放的第一媒体文件的播放进度;第一设备接收第一蓝牙低功耗广播;响应于第一蓝牙低功耗广播,第一设备将第一媒体文件的播放进度切换至第二进度;其中,第二进度根据第一进度和第二设备与第一设备之间的传输时延确定。
第四方面,本申请实施例提供了一种电子设备,电子设备包括:存储器和一个或多个处理器;存储器与处理器耦合;其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行如第一方面至第三方面中任意一种设计方式提供的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机指令;当计算机指令在电子设备上运行时,使得电子设备执行如第一方面至第三方面中任意一种设计方式提供的方法。
第六方面,本申请提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面、第二方面、第三方面中任意一种设计方式提供的方法。
其中,第二方面至第六方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的另一种应用场景示意图;
图3为本申请实施例提供的一种同步播放系统的架构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图;
图5为本申请实施例提供的一种电子设备的框架图;
图6为本申请实施例提供的一种协议(profile)的结构示意图;
图7为本申请实施例提供的一组界面图;
图8为本申请实施例提供的一组界面图;
图9为本申请实施例提供的一组界面图;
图10为本申请实施例提供的一组界面图;
图11为本申请实施例提供的一种同步播放方法的流程示意图一;
图12为本申请实施例提供的一种预载广播的结构示意图;
图13为本申请实施例提供的一种时延校准广播的结构示意图;
图14为本申请实施例提供的一种起播广播的结构示意图;
图15为本申请实施例提供的一种播放进度广播的结构示意图;
图16为本申请实施例提供的另一种起播广播的结构示意图;
图17为本申请实施例提供的一种同步播放方法的流程示意图二;
图18为本申请实施例提供的一种同步播放方法的流程示意图三。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
图1是本申请实施例提供的一种应用场景示意图。在该场景下,手机、平板、笔记本电脑和大屏同步播放同一个视频。
图2是本申请实施例提供的另一种应用场景示意图。在该场景下,多个大屏被当做一个大屏播放一个视频,其中每个大屏显示视频的一部分。
在上述两种场景下,多个设备在刚开始播放视频时通常可以保持相同的播放进度。但由于设备硬件、软件差异等客观因素,在长时间播放后,多个电子设备间会逐渐产生播放不同步的情况。
相关技术中,可以通过云端对多个电子设备进行精准校时来统一播放进度。但这种方案尤其依赖网络质量,对于一些网络质量不好甚至无网络的场景,无法达到统一播放进度、同步播放的效果。
为至少解决上述问题,本申请提供了一种同步播放方法,主设备可以在播放文件的过程中向从设备发送携带有文件信息以及第一播放进度的蓝牙低功耗(bluetooth lowenergy,BLE)广播,从设备可以基于第一播放进度调整自身的第二播放进度,以此实现在网络质量不好或者无网络的情况下实现设备间播放进度的同步。
图3是本申请实施例提供的一种同步播放系统的架构示意图。请参照图3,该同步播放系统包括多个电子设备,该多个电子设备之间可以进行蓝牙通信。其中,多个电子设备均支持BLE协议,以实现设备间的蓝牙通信。
可选地,该多个电子设备还可以通过无线保真(wireleSS fidelity,WIFI)、近场通信(near field communication,NFC)等通信方式进行通信。
在本申请实施例中,多个电子设备中的至少一个电子设备上安装有第一应用。该第一应用可以提供同步播放的功能,使得多个电子设备可以同步播放视频或音频。
在需要多个电子设备同步播放视频或音频时,用户可以通过其中一个电子设备发起同步播放任务并播放任务指示的视频或音频,再由该电子设备发送BLE广播通知其他电子设备同步播放视频或音频。其中,多个电子设备中发起同步播放任务/发送BLE广播的电子设备可以称为主设备或第二设备,主设备通知的其他电子设备/接收BLE广播的电子设备可以称为从设备或第一设备。也就是说,主设备和从设备之间的区别在于分别为BLE广播的发送端和接收端。在不同的同步播放任务中,一个电子设备可以分别为主设备和从设备,或者均为主设备,或者均为从设备,在此不做具体限制。
本申请实施例提供的电子设备可以为手机、平板电脑、大屏、个人数字助理(personal digital assistant,PDA)、可穿戴设备(例如,手表,手环)、音箱等设备。
特别地,在主设备和从设备执行同步播放视频任务的情况下,主设备和从设备均包括可用于播放视频的显示屏。在主设备和从设备执行同步播放音频任务的情况下,主设备和从设备均包括可用于播放音频的扬声器等。
本申请实施例以图3所示的电子设备为手机为例进行说明。如图4所示,手机可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serialbus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏(触摸屏)294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
无线通信模块260可以提供应用在手机上的包括WLAN(如无线保真(wirelessfidelity,Wi-Fi)网络),传统蓝牙,BLE,全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
显示屏294用于显示图像,视频等。该显示屏294包括显示面板。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机的各种功能应用以及数据处理。例如,在本申请实施例中,处理器210可以通过执行存储在内部存储器221中的指令,内部存储器221可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,视频播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,视频数据等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
手机可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
可以理解的是,本实施例示意的结构并不构成对手机的具体限定。在另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
如图5所示,为本申请实施例提供的一种电子设备的框架图。请参照图5,本申请实施例中,电子设备包括应用层、主机(host)以及控制器(controller)。
控制器负责定义底层硬件部分,包括无线射频(radio frequency,RF)、基带(Baseband,BB)等偏硬件的规范。其中,RF通过2.4GHz无需授权的工业科学医学(industrial scientific medical,ism)频段的微波,实现数据位流的过滤和传输,主要定义了蓝牙收发器在此频带正常工作所需要满足的条件。基带负责跳频以及蓝牙数据和信息帧的传输。
其中,控制器包括物理层(physical layer,PHY)、链路层(link layer,LL)。物理层用于指定BLE所用的无线频段,调制解调方式和方法,传输数据的速度,整个BLE芯片功耗、灵敏度等。链路层是控制器的核心,可用于选择进行通信的射频通道,识别数据包,发送数据包,确保数据完整性,重传,对链路的管理和控制等。
可选地,该控制器还可以包括主机控制器接口(host controller interface,HCI)。HCI定义了控制器和主机之间通信方式,例如通用异步收发传输器(universalasynchronous receiver/transmitter,UART)、USB、串行外围设备接口(serialperipheral lnterface,SPI)、安全数字输入输出(secure digital input and output,SDIO)等。
主机定义了蓝牙框架中的多种协议,例如逻辑链路控制和适配协议(logicallink control and adaptation protocol,L2CAP)、服务发现协议(service discoverprotocol,SDP)、属性协议(attribute protocol,ATT)、通用属性协议(generic attributeprofile,GATT)、通用访问配置协议(generic access profile,GAP)等。
其中,GATT用于规范属性(attribute)中的数据内容,并运用分组(group)的概念对attribute进行分类管理;以及指定两个BLE设备的应用层profile数据交互的结构,该结构定义了一些基本元素,例如服务(service)、特性(characteristic)等。如图6所示,profile包括一个或多个服务,服务包括一个或多个特性,特性可以包括值(value)、属性(property)以及一个或多个描述符(descriptor)等。其中,服务、特征值以及描述符等分别具备通用唯一识别码(universally unique identifier,UUID),用于对服务、特征值以及描述符进行标识。
应用层包括多个协议(profile)。例如心率profile、血压profile以及同步播放profile等。在本申请实施例中,同步播放profile可以包括服务1、服务2、服务3以及服务4。其中,服务1、服务2、服务3以及服务4分别用于定义预载广播、时延校准广播、播放进度广播以及起播广播所包括的字段以及空间大小。后文将详细描述上述四种广播的结构,在此暂不描述。
下面先以主设备为手机,从设备为电视为例,对本申请实施例提供的同步播放方法的应用场景进行说明。
在本申请实施例中,手机中可安装具有同步播放功能的应用(后续称为同步分享APP,也可称为第一应用),用户可使用同步分享APP发起同步播放任务,使得手机和电视同步播放视频或音频。值得注意的是,该同步分享APP可以为针对该同步播放功能单独研发的APP,也可以为对现有应用进行改进添加该同步播放功能得到的,例如为图库应用,本申请实施例对此不做具体限制。
另外,手机和电视中均存储有待同步播放的视频。如此,可以使得手机和电视在网络状态不佳或者没有网络的情况下能够正常、流畅地播放该视频。
示例性的,如图7中的(a)所示、图8中的(a)所示,手机可以显示同步分享APP的界面701,该界面701包括多个视频,例如视频701a、视频701b等,该视频701a和视频701b均为手机本地存储的视频。如果用户希望手机和电视同步播放视频701a,则用户可以点击视频701a(如图7中的(a)所示)或长按该视频701a(如图8中的(a)所示)。仍然如图7中的(a)所示,电视可以显示待机界面702。其中,电视也可以显示其他界面,例如播放视频701a、视频701b的界面或者其他界面等,本申请实施例对此不做具体限制。
当检测到用户对视频701a的点击操作后,一方面手机可以向电视发送播放视频701a的通知,另一方面如图7中的(b)所示,手机播放该视频701a,同时电视在接收到通知后也播放视频701a。其中,手机中视频701a的播放进度与电视中视频701a的播放进度一致,例如均为视频701a的起始时刻,或者均为视频701a的“0:05”时刻等,本申请实施例对此不做具体限制。
当检测到用户长按视频701a的操作后,如图8中的(b)所示,手机可以显示功能栏703。该功能栏703包括多个选项,例如“同步播放”703a、“起播进度设置”703b、“起播时间设置”703c等。其中,“起播进度设置”703b用于设置视频的起播进度,例如从视频701b的起始时刻开始播放,或者从视频701b的第“0:05”时刻开始播放等。“起播时间设置”703c用于设置视频的起播时间。需要说明的是,在手机显示功能栏703期间,电视继续显示待机界面702。
其中,如果用户希望设置起播进度,则可以点击“起播进度设置”703b。当检测到用户点击“起播进度设置”703b的操作后,如图9所示,手机可以显示界面704,该界面704用于预览视频701a。该界面704还包括进度条704a、“取消”704b以及“保存”704c。该进度条704a可供用户调整视频701a的播放进度。响应于用户对“取消”704b的操作,手机取消设置起播进度。响应于用户对“保存”704c的操作,手机将进度条704a所指示的播放进度设置为起播进度。例如,进度条704a指示播放进度为0:10,则手机检测到用户对“保存”704c的操作后,可以将起播进度设置为0:10时刻。需要说明的是,在用户未设置起播进度的情况下,手机可以将起播进度设置为视频的起始时刻。另外,在手机显示界面704期间,电视继续显示待机界面702。
如果用户希望手机和电视能立刻播放视频701a,可以点击“同步播放”703a。当检测到用户点击“同步播放”703a的操作后,如图7中的(b)所示,手机和电视均播放视频701a。
如果用户希望手机和电视能在未来的特定时刻播放视频701a,可以点击“起播时间设置”703c。当检测到用户对“起播时间设置”703c的点击操作后,如图10中的(a)所示,手机可以显示选择栏705,该选择栏705用于供用户设置起播时间,例如可供用户选择年、月、日、时、分。在一种可能的设计中,手机也可以提供其他方式供用户设置起播时间,例如手机可以不显示选择栏705,而是显示供用户输入时间的输入框。另外,在手机选择栏705期间,电视继续显示待机界面702。
当检测到用户设置起播时间的操作(例如检测到用户在选择栏705中设置起播时间,或者检测到用户在输入框中输入起播时间)后,一方面手机可以向电视发送在起播时间播放视频701a的通知,另一方面如图10中的(b)所示,手机和电视在起播时间同时开始播放视频701a,且手机中视频701a的播放进度与电视中视频701a的播放进度一致。
需要说明的是,在手机检测到用户设置起播时间的操作之后,到手机和电视播放视频之前,手机和电视均可以执行其他操作,例如手机和电视可以分别播放视频701a、显示待机画面等,本申请实施例对此不做具体限制。
下面结合附图具体说明主设备(例如上述手机)和从设备(例如上述电视)同步播放视频的过程。
图11示出了本申请实施例提供的一种同步播放方法的流程示意图一。该同步播放方法可以由图3所示的主设备和从设备执行,其中主设备和从设备均已开启蓝牙。请参照图11,本申请实施例提供的同步播放方法包括S1101~S1113。
S1101,主设备接收第一事件。
其中,第一事件用于触发主设备和从设备同步播放多媒体文件1。该多媒体文件1也可以称为第一媒体文件、目标文件等,可以理解为待播放的多媒体文件,该多媒体文件1可以为视频文件、音频文件等。
在一种实施方式中,第一事件可以为用户发起的用于同步播放多媒体文件1的操作,例如为图7中的(a)所示的点击视频701a的操作,又例如为用户点击图8中的(b)所示的“同步播放”703a的操作。或者,该第一事件可以为当前时间与预先设置的起播时间匹配,例如当前时间距离起播时间的时间差小于阈值。不限于上述列举的两种事件,第一事件还可以为其他,本申请实施例对第一事件不做具体限制。
S1102,主设备加载多媒体文件1。
其中,主设备可以从存储器中读取多媒体文件1,以做好播放多媒体文件1的准备,有利于提升播放时的效率。
S1103,主设备发送预载广播。
在本申请实施例中,预载广播为一种BLE广播,也可以称为第三蓝牙低功耗广播。该预载广播中携带有时间1以及文件信息1,该时间1为主设备发送预载广播的时间,例如可以通过unix_timestamp进行标识;文件信息1用于指示主设备待播放的多媒体文件,例如为上述的多媒体文件1。
图12示出了一种预载广播的结构示意图。请参照图12,预载广播包括前导(preamble)、接入地址(access address)、协议数据单元(protocol dataunit,PDU)以及循环冗余校验码(cyclic redundancy check,CRC)。其中,PDU进一步包括报头(header)和载荷(payload)。在本申请实施例中,该载荷包括时间1和文件信息1,时间1占用4字节,文件信息1占用20字节。需要说明的是,时间1和文件信息1所占用的空间也可以为其他,本申请实施例对此不做具体限制。
在一种可能的设计中,主设备可以利用安全散列算法1(secure hash algorithm1,SHA1)或信息摘要算法5(message digest algorithm 5,MD5)对多媒体文件1进行加密操作,得到文件信息1。这样得到的文件信息1可用于唯一标识多媒体文件,减小主设备和从设备播放的多媒体文件不一致的风险。
S1104,从设备加载多媒体文件1。
可以理解地,由于从设备已开启蓝牙功能,因此从设备和主设备之间的距离在一定范围内的情况下,从设备可以接收到预载广播。需要说明的是,这里的从设备包括和主设备之间的距离在一定范围内且开启蓝牙功能的所有电子设备。
其中,从设备上也可以存储有多个多媒体文件的文件信息。从设备可以从预载广播中解析得到文件信息1,并根据该文件信息1从多个多媒体文件的文件信息中确定多媒体文件1为待播放的多媒体文件,并加载多媒体文件1。
S1105,主设备发送时延校准广播。
其中,时延校准广播同样为一种BLE广播,也可以称为第四蓝牙低功耗广播。该时延校准广播中携带有时间2(也可以称为第三时间)以及主设备的媒体存取控制位址(mediaaccess control address,MAC)。该时间2为主设备发送时延校准广播的时间,例如可以通过unix_timestamp进行标识。
图13示出了一种时延校准广播的结构示意图。对比图13和图12可知,该时延校准广播与预载广播的结构类似,区别在于时延校准广播的载荷包括时间2和主设备的MAC地址。其中时间2占用4字节。需要说明的是,时间2和MAC地址所占用的空间也可以为其他,本申请实施例对此不做具体限制。
S1106,从设备确定传输延时。
其中,传输时延用于反映主设备和从设备之间传输广播所需的时间,即主设备发送BLE广播到从设备接收到BLE广播所需的时间。
在本申请实施例中,从设备可以从时延校准广播中解析得到主设备发送该时延校准广播的时间(即时间2),例如为T1。从设备还可以确定接收到时延校准广播的时间,例如为T2。从而,从设备可以根据T1和T2确定传输时延,即为T2-T1。
在本申请实施例中,从设备可以存储MAC地址和传输时延的对应关系,以便于后续从设备可以根据主设备的MAC地址查询得到对应的传输时延。
需要说明的是,S1103和S1105之间不存在严格的先后顺序,主设备可以先发送预载广播再发送时延校准广播,或者先发送时延校准广播再发送预载广播,或者同时发送预载广播和时延校准广播,本申请实施例对此不做具体限制。
在一些实施方式中,主设备也可以不发送时延校准广播,而是基于起播广播或播放进度广播确定传输时延,具体参见后文的描述。
可以理解地,为使达到良好的同步效果,主设备和从设备可以在同一时间开始播放多媒体文件1。因此,仍然如图11所示,本申请实施例提供的同步播放方法还包括S1107。
S1107,主设备发送起播广播。
其中,起播广播同样为BLE广播,也可以称为第二蓝牙低功耗广播。该起播广播中携带有文件信息2、起播时间以及起播进度。该文件信息2用于指示主设备即将播放的多媒体文件,例如为多媒体文件2。
该起播时间用于指示主设备开始播放多媒体文件2的时间。该起播时间可以根据用户的需求进行设置,其中设置起播时间的过程可以参阅图8-图10,在此不再赘述。
该起播进度用于指示主设备播放多媒体文件2的起点,也可以理解为主设备开始播放多媒体文件2时该多媒体文件2所处的播放进度,该起播进度也可以称为第三进度。播放进度可以用于指示主设备播放的多媒体文件的播放时刻,可以通过具体时间反映,也可以通过播放百分比等信息反映。例如,起播进度对应的播放时刻为0:08,即指示主设备正在播放多媒体文件2的第0:08秒。又例如,多媒体文件的总时长为30秒,起播进度对应的播放百分比为30%,则主设备正在播放多媒体文件2的第9秒。
在本申请实施例中,起播进度对应的播放时刻可以为多媒体文件2的起始时刻,也可以为多媒体文件2的其他任意时刻,具体可以根据用户的需求进行设置,其中设置起播进度的过程可以参阅图8-图10,在此不再赘述。
图14示出了一种起播广播的结构示意图。对比图14和图12可知,该起播广播与预载广播的结构类似,区别在于起播广播的载荷包括文件信息2、起播时间以及起播进度。
S1108,主设备在起播时间以起播进度为起点播放多媒体文件2。
例如,起播进度对应的播放时刻为多媒体文件2的第0:08秒,则主设备在起播时间从多媒体文件2的第0:08秒开始播放该多媒体文件2。
S1109,从设备判断多媒体文件1与多媒体文件2是否相同。
其中,若多媒体文件1与多媒体文件2相同,则执行S1110;若多媒体文件1与多媒体文件2不同,则从设备不播放多媒体文件1。
可以理解地,从设备可以根据文件信息2确定主设备即将播放多媒体文件2。
若多媒体文件1与多媒体文件2不同,则表示主设备此次要播放的多媒体文件并非主设备在预载广播中指示的即将播放的多媒体文件,可能存在故障,因此从设备不播放多媒体文件1。若多媒体文件1与多媒体文件2相同,则表示主设备此次要播放的多媒体文件就是主设备在预载广播中指示的即将播放的多媒体文件,前后匹配,故正常播放多媒体文件1。
S1110,从设备在起播时间以起播进度为起点播放多媒体文件1(多媒体文件2)。
如此,主设备和从设备便可以在同一时刻、从同一起点播放同一个视频,实现多媒体文件的同步播放。
考虑到即使主设备和从设备是同时播放多媒体文件1的,但由于主设备和从设备在软件和硬件上的差异,在长时间播放后主设备和从设备很可能存在播放进度不一致的情况。因此,如图11所示,本申请实施例提供的同步播放方法还包括S1111。
S1111,主设备发送播放进度广播。
其中,播放进度广播同样为BLE广播,也可以称为第一蓝牙低功耗广播。该起播广播中携带有文件信息3以及进度1(也可以称为第一进度)。该文件信息3用于指示主设备正在播放的多媒体文件,例如为多媒体文件3;进度1为主设备正在播放的多媒体文件3的播放进度。可选地,该起播广播中可以携带有主设备发送播放进度广播的时间。
图15示出了一种播放进度广播的结构示意图。对比图15和图12可知,该播放进度广播与预载广播的结构类似,区别在于播放进度广播的载荷包括文件信息3以及进度1。
S1112,从设备判断多媒体文件1与多媒体文件3是否相同。
其中,若多媒体文件1与多媒体文件3相同,则执行S1113;若多媒体文件1与多媒体文件3不同,则从设备不调整多媒体文件1的播放进度。
可以理解地,从设备可以根据文件信息3确定主设备正在播放多媒体文件3。
若多媒体文件1与多媒体文件3不同,则表示主设备正在播放的多媒体文件并非从设备正在播放的多媒体文件,因此从设备无需基于该播放进度广播调整多媒体文件1的播放进度。若多媒体文件1与多媒体文件3相同,则表示主设备正在播放的多媒体文件即为从设备正在播放的多媒体文件,故从设备可以基于该播放进度广播调整多媒体文件1的播放进度。
S1113,从设备将多媒体文件1的播放进度调整至进度2。
其中,该进度2根据进度1和传输时延确定。该进度2也可以称为第二进度。
例如,进度1对应的播放时刻为多媒体文件3的第10秒,传输时延为1秒,则进度2对应的播放时刻为多媒体文件3的第11秒,即从设备将多媒体文件1的播放进度调整至多媒体文件1的第11秒。如此,可以实现主设备和从设备播放进度的同步。
可选地,如图16所示,主设备发送的起播广播中可以不携带有起播时间,而是携带有时间3和时间4。该时间3为主设备开始播放多媒体文件2的时间,也可以称为第一时间;时间4为主设备发送起播广播的时间,也可以称为第二时间。在这种情况下,图17示出了本申请实施例提供的一种同步播放方法的流程示意图二。请参照图17,S1107~S1110可以替换为S1114~S1117。
S1114,主设备播放多媒体文件2。
其中,主设备可以在发送预载广播、时延校准广播后播放多媒体文件2。
若用户未设置起播时间,则主设备可以在发送预载广播、时延校准广播后立刻播放多媒体文件2。
若用户设置有起播时间,则主设备可以在用户设置的起播时间播放多媒体文件2。这种情况下,时间3与用户设置的起播时间相同。
S1115,主设备发送起播广播。
其中,主设备播放多媒体文件2的时间和主设备发送起播广播的时间可以相同,即时间3和时间4可以相同,也就是主设备可以同时执行S1114和S1115。
可以理解地,该时间3和时间4之间的时间差越小,则主设备和从设备开始播放视频的时间越接近,同步开始播放的效果越好。
S1116,从设备判断多媒体文件1与多媒体文件2是否相同。
其中,若多媒体文件1与多媒体文件2相同,则执行S1117;若多媒体文件1与多媒体文件2不同,则从设备不播放多媒体文件1。
S1117,从设备以进度3为起点播放多媒体文件1(多媒体文件2)。
其中,该进度3可以根据时间3和时间4之间的时间差和传输时延确定。具体的,进度3对应的播放时刻可以为多媒体文件1的第M时刻,M为传输时延与时间3和时间4之间的时间差的和。可选地,该进度3可以称为第四进度。
例如,主设备在11:50的时候播放多媒体文件2,在11:51的时候发送起播广播,传输时延为2秒,则该进度3对应的播放时刻为多媒体文件1的第3秒,即从设备接收到起播广播后从多媒体文件1的第3秒开始播放多媒体文件1。
可选地,在起播广播中携带有起播进度的情况下,该进度3可以根据起播进度,时间3和时间4之间的时间差,以及传输时延确定。具体的,M为起播进度对应的播放时刻,时间3和时间4以及传输时延三者之和。
例如,主设备在11:50的时候从多媒体文件2的第10秒开始播放多媒体文件2,在11:51的时候发送起播广播,传输时延为2秒,则进度3对应的播放时刻为多媒体文件1的第13秒,即从设备接收到起播广播后从多媒体文件1的第13秒开始播放多媒体文件1。
也就是说,主设备可以先播放视频再发送起播广播,或者主设备可以先发送起播广播再和从设备一起播放视频,这两种方式均可以实现主设备和从设备播放同一多媒体文件。
考虑到第一设备和第二设备对同一视频文件的解码效果不同,使得第一设备、第二设备上同一视频文件在同一进度对应的图像帧不同,进而导致第一设备和第二设备分别所显示的画面并不能达到完全一致。例如,主设备和从设备上多媒体文件1的播放进度对应的播放时刻均为多媒体文件1的第10秒,但由于解码效果不同,在主设备上多媒体文件1的第10秒对应多媒体文件的第10帧图像,在从设备上多媒体文件1的第10秒对应多媒体文件的第11帧图像,则主设备和从设备显示的画面不同。
为至少解决上述问题,主设备和从设备可以基于图像帧来同步播放进度,以达到更加精准的画面同步效果。图18示出了本申请实施例提供的一种同步播放方法的流程示意图三,其以多媒体文件为视频文件为例进行说明。如图18所示,本申请实施例提供的同步播放方法包括S1801~S1814。
S1801,主设备接收第一事件。
S1802,主设备加载视频1。
S1803,主设备切分视频1,得到每一帧图像对应的播放时刻。
示例性的,该视频1可以为上述的视频701a。
其中,每一帧图像对应的播放时刻用于指示该帧图像在视频1中的位置,也可以理解为该帧图像所对应的播放进度。
在一种可能的实施方式中,主设备可以根据视频1的帧率得到每一帧图像对应的播放时长,进而根据每一帧图像对应的播放时长确定每一帧图像对应的播放时刻。其中,每一帧图像对应的播放时长可以为帧率的倒数。
例如,视频1的帧率为25fps、总时长为30s,则主设备可以将视频1切分为750帧图像,每帧对应的播放时长为40ms,则第1帧图像对应的播放时刻为视频1的第0ms,第2帧图像对应的播放时刻为视频1的第40ms,第3帧图像对应的播放时刻为视频1的第80ms,……,第n帧图像对应的播放时刻为视频1的第40*(n-1)ms,……最后一帧图像对应的播放时刻为视频1的第29960ms。
可选地,该视频1可以为预先被切分好的,即主设备中已经预先存储有视频1中每一帧图像对应的播放时刻,无需在接收到第一事件后临时切分视频,如此可以节约主设备的处理流程,减少主设备、从设备同步播放视频所等待的时间,达到提升同步播放的响应速度的效果。
S1804,主设备发送预载广播。
S1805,从设备加载视频1。
也就是说,主设备通过发送预载广播,可使从设备预先加载视频1,做好播放视频1的准备。
S1806,从设备切分视频1,得到每一帧图像对应的播放时刻。
需要说明的是,从设备和主设备采用相同的方式切分视频1,如此可以确保视频1的每一帧图像在主设备、从设备上对应的播放时刻是一致的。
可选地,从设备可以不执行S1806,即从设备中已经预先存储有视频1中每一帧图像对应的播放时刻,无需在接收到预载广播后临时切分视频。
S1807,主设备播放视频2。
S1808,主设备发送起播广播。
其中,该起播广播中携带有文件信息2、时间3、时间4以及起播进度。该文件信息2用于指示主设备正在播放的视频,即视频2;该时间3为主设备开始播放视频2的时间;时间4为主设备发送起播广播的时间;起播进度用于指示主设备开始播放视频2时的播放进度,该起播进度对应的播放时刻可以为播放时刻1,播放时刻1对应的图像帧为多媒体文件1的第P帧图像。也就是说,主设备从视频2的第P帧图像开始播放。
如图18所示,本申请实施例提供的同步播放方法还包括S1809。
S1809,从设备确定传输延时。
可选地,从设备可以根据该时间4和接收到起播广播的时间确定传输时延。可以理解地,根据主设备和从设备之间距离远近的不同,该传输时延可以存在变化。其中,主设备和从设备之间的距离越长,则从设备接收到时延校准广播的时间越晚,即该传输时延越大;主设备和从设备之间的距离越短,则从设备接收到时延校准广播的时间越早,即该传输时延越小。因此,为了避免从设备和主设备之间的距离变动造成传输时延发生变化,从设备可以根据起播广播中携带的时间4确定传输时延。
可选地,从设备也可以基于主设备的MAC地址查询得到对应的传输时延。
S1810,从设备判断视频1与视频2是否相同。
若视频1与视频2相同,则执行S1811;若视频1与视频2不同,则从设备不播放视频1。
S1811,从设备以视频1的第Q帧图像为起点播放视频1。
其中,该第Q帧图像对应的播放时刻为播放时刻2(即前述的第M时刻),播放时刻2为播放时刻1,传输时延以及时间4与时间3之间的时间差的和。
S1812,主设备发送播放进度广播。
其中,该播放进度广播中携带有文件信息3以及进度1。该文件信息3用于指示主设备正在播放的多媒体文件,例如为视频3。进度1用于指示主设备播放的视频3的播放进度,该进度1对应的播放时刻为播放时刻3(也可称为第四时刻),该播放时刻3对应视频3的第i帧图像。
S1813,从设备判断视频1与视频3是否相同。
若视频1与视频3相同,则执行S1814;若视频1与视频3不同,则从设备不调整视频1的播放进度。
S1814,从设备播放视频1的第j帧图像。
其中,第j帧图像对应的播放时刻为播放时刻4(也可称为第五时刻)。该播放时刻4是基于播放时刻3和传输时延确定的播放时刻,具体可以为播放时刻3与传输时延的和。
可以理解地,通过S1801~S1814,可以使得主设备、从设备上同一视频文件在同一播放时刻对应的图像帧是相同的,实现第一设备、第二设备上画面内容的严格同步。
综上所述,本申请实施例通过主设备向从设备发送播放进度广播,可以在弱网的条件下对齐主设备、从设备之间的播放进度。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路可用于向其它装置(例如处理器)发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当所述指令被处理器执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中接收端/发送端执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中接收端/发送端执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种同步播放方法,其特征在于,应用于第一设备,所述方法包括:
播放第一媒体文件;
接收第二设备发送的第一蓝牙低功耗广播;其中,所述第一蓝牙低功耗广播中携带有文件信息和第一进度,所述文件信息用于指示所述第二设备正在播放的媒体文件为所述第一媒体文件,所述第一进度为所述第二设备正在播放的所述第一媒体文件的播放进度;
响应于所述第一蓝牙低功耗广播,将所述第一媒体文件的播放进度切换至第二进度;其中,所述第二进度根据所述第一进度和所述第二设备与所述第一设备之间的传输时延确定。
2.根据权利要求1所述的方法,其特征在于,在所述播放第一媒体文件之前,所述方法还包括:
接收所述第二设备发送的第二蓝牙低功耗广播;其中,所述第二蓝牙低功耗广播中携带有文件信息和起播时间,所述文件信息用于指示所述第二设备即将播放的所述第一媒体文件,所述起播时间为所述第二设备开始播放所述第一媒体文件的时间;
所述播放第一媒体文件,包括:
响应于所述第二蓝牙低功耗广播,在所述起播时间播放所述第一媒体文件。
3.根据权利要求2所述的方法,其特征在于,所述第二蓝牙低功耗广播中还携带有第三进度,所述第三进度为所述第二设备播放所述第一媒体文件的起点;
所述在所述起播时间播放所述第一媒体文件,包括:
在所述起播时间以所述第三进度为起点播放所述第一媒体文件。
4.根据权利要求1所述的方法,其特征在于,在所述播放第一媒体文件之前,所述方法还包括:
接收所述第二设备发送的第二蓝牙低功耗广播;其中,所述第二蓝牙低功耗广播中携带有文件信息和进度信息,所述文件信息用于指示所述第二设备正在播放的所述第一媒体文件,所述进度信息用于指示所述第二设备发送所述第二蓝牙低功耗广播时所述第一媒体文件的播放进度;
所述播放第一媒体文件,包括:
响应于所述第二蓝牙低功耗广播,以第四进度为起点播放所述第一媒体文件;其中,所述第四进度根据所述进度信息和所述传输时延确定。
5.根据权利要求4所述的方法,其特征在于,所述进度信息包括第一时间和第二时间,所述第一时间为所述第二设备开始播放所述第一媒体文件的时间,所述第二时间为所述第二设备发送所述第二蓝牙低功耗广播的时间,所述第四进度对应的播放时刻为所述传输时延与所述第一时间和所述第二时间之间的时间差的和。
6.根据权利要求4所述的方法,其特征在于,所述进度信息包括第一时间、第二时间以及第三进度,所述第一时间为所述第二设备开始播放所述第一媒体文件的时间,所述第二时间为所述第二设备发送所述第二蓝牙低功耗广播的时间,所述第三进度为所述第二设备播放所述第一媒体文件的起点,所述第四进度对应的播放时刻为以下三个参数之和,所述三个参数包括:所述第三进度对应的播放时刻、所述第一时间和所述第二时间之间的时间差以及所述传输时延。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述第一设备中存储有所述第一媒体文件中每帧图像对应的播放时刻,所述第一进度对应的播放时刻为所述第一媒体文件的第四时刻;
所述将所述第一媒体文件的播放进度切换至第二进度,包括:
播放所述第一媒体文件的第j帧图像;其中,所述第j帧图像对应的播放时刻为第五时刻,所述第五时刻是基于所述第四时刻和所述传输时延确定的播放时刻。
8.根据权利要求7所述的方法,其特征在于,在所述播放第一媒体文件之前,所述方法还包括:
接收所述第二设备发送的第三蓝牙低功耗广播;其中,所述第三蓝牙低功耗广播携带有文件信息,所述文件信息用于指示所述第二设备即将播放的所述第一媒体文件;
响应于所述第三蓝牙低功耗广播,根据所述文件信息加载所述第一媒体文件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
切分所述第一媒体文件,得到所述第一媒体文件包括的每帧图像对应的播放时刻。
10.根据权利要求1-6中任意一项所述的方法,其特征在于,所述方法还包括:
接收所述第二设备发送的第四蓝牙低功耗广播;其中,所述第四蓝牙低功耗广播携带有第三时间,所述第三时间为所述第二设备发送所述第四蓝牙低功耗广播的时间;
响应于所述第四蓝牙低功耗广播,根据接收到所述第四蓝牙低功耗广播的时间及所述第三时间确定所述传输时延。
11.一种同步播放方法,其特征在于,应用于第二设备,所述方法包括:
播放第一媒体文件;
发送第一蓝牙低功耗广播;其中,所述第一蓝牙低功耗广播中携带有文件信息和第一进度,所述文件信息用于指示所述第二设备正在播放的媒体文件为所述第一媒体文件,所述第一进度为所述第二设备正在播放的所述第一媒体文件的播放进度。
12.根据权利要求11所述的方法,其特征在于,在所述播放第一媒体文件之前,所述方法还包括:
发送第二蓝牙低功耗广播;其中,所述第二蓝牙低功耗广播中携带有文件信息和起播时间,所述文件信息用于指示所述第二设备即将播放的所述第一媒体文件,所述起播时间为所述第二设备开始播放所述第一媒体文件的时间;
所述播放第一媒体文件,包括:
在所述起播时间播放所述第一媒体文件。
13.根据权利要求12所述的方法,其特征在于,所述第二蓝牙低功耗广播中还携带有第三进度,所述第三进度为所述第二设备播放所述第一媒体文件的起点;
所述在所述起播时间播放所述第一媒体文件,包括:
在所述起播时间以所述第三进度为起点播放所述第一媒体文件。
14.根据权利要求13所述的方法,其特征在于,所述第二设备中存储有所述第一媒体文件中每帧图像对应的播放时刻,所述第三进度对应的播放时刻为所述第一媒体文件的第六时刻,所述在所述起播时间以所述第三进度为起点播放所述第一媒体文件包括:
在所述起播时间播放所述第一媒体文件的第i帧图像,所述第i帧图像对应的播放时刻为所述第六时刻。
15.根据权利要求14所述的方法,其特征在于,在所述播放第一媒体文件之前,所述方法还包括:
接收触发第一设备和所述第二设备同步播放所述第一媒体文件的第一事件;
响应于所述第一事件,切分所述第一媒体文件,得到所述第一媒体文件中每帧图像对应的播放时刻。
16.根据权利要求11所述的方法,其特征在于,在所述播放第一媒体文件之后,所述方法还包括:
发送第二蓝牙低功耗广播;其中,所述第二蓝牙低功耗广播中携带有文件信息和进度信息,所述文件信息用于指示所述第二设备正在播放的所述第一媒体文件,所述进度信息用于指示所述第二设备发送所述第二蓝牙低功耗广播时所述第一媒体文件的播放进度。
17.根据权利要求16所述的方法,其特征在于,所述进度信息包括第一时间和第二时间,所述第一时间为所述第二设备开始播放所述第一媒体文件的时间,所述第二时间为所述第二设备发送所述第二蓝牙低功耗广播的时间;
或者,所述进度信息包括所述第一时间、所述第二时间以及第三进度,所述第三进度为所述第二设备播放所述第一媒体文件的起点。
18.根据权利要求11-17中任意一项所述的方法,其特征在于,所述方法还包括:
发送第三蓝牙低功耗广播;其中,所述第三蓝牙低功耗广播携带有文件信息,所述文件信息用于指示所述第二设备即将播放所述第一媒体文件。
19.根据权利要求11-17中任意一项所述的方法,其特征在于,所述方法还包括:
发送第四蓝牙低功耗广播;其中,所述第四蓝牙低功耗广播携带有第三时间,所述第三时间为所述第二设备发送所述第四蓝牙低功耗广播的时间。
20.一种同步播放方法,其特征在于,应用于同步播放系统,所述同步播放系统包括第一设备和第二设备,所述方法包括:
所述第一设备、所述第二设备分别播放第一媒体文件;
所述第二设备发送第一蓝牙低功耗广播;其中,所述第一蓝牙低功耗广播中携带有文件信息和第一进度,所述文件信息用于指示所述第二设备正在播放的媒体文件为所述第一媒体文件,所述第一进度为所述第二设备上播放的所述第一媒体文件的播放进度;
所述第一设备接收所述第一蓝牙低功耗广播;
响应于所述第一蓝牙低功耗广播,所述第一设备将所述第一媒体文件的播放进度切换至第二进度;其中,所述第二进度根据所述第一进度和所述第二设备与所述第一设备之间的传输时延确定。
21.一种电子设备,其特征在于,所述电子设备包括:存储器和一个或多个处理器;所述存储器与所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-20中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,包括计算机指令;
当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-20中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410189015.0A CN117750492B (zh) | 2024-02-20 | 2024-02-20 | 一种同步播放方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410189015.0A CN117750492B (zh) | 2024-02-20 | 2024-02-20 | 一种同步播放方法、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117750492A true CN117750492A (zh) | 2024-03-22 |
CN117750492B CN117750492B (zh) | 2024-06-25 |
Family
ID=90261317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410189015.0A Active CN117750492B (zh) | 2024-02-20 | 2024-02-20 | 一种同步播放方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117750492B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281595A (zh) * | 2013-06-19 | 2013-09-04 | 成都智元汇数码科技有限公司 | 一种信息发布物联网终端多屏组合显示的方法 |
CN104703036A (zh) * | 2015-02-13 | 2015-06-10 | 广东欧珀移动通信有限公司 | 一种同步媒体文件播放进度的方法、装置及系统 |
CN108108146A (zh) * | 2018-01-19 | 2018-06-01 | 深圳市沃特沃德股份有限公司 | 多个播放设备同步播放的方法与播放设备 |
WO2021036835A1 (zh) * | 2019-08-30 | 2021-03-04 | 华为技术有限公司 | 一种蓝牙搜索方法、系统及相关装置 |
CN116600169A (zh) * | 2023-05-29 | 2023-08-15 | 抖音视界有限公司 | 媒体文件的预加载方法、装置、电子设备及存储介质 |
-
2024
- 2024-02-20 CN CN202410189015.0A patent/CN117750492B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281595A (zh) * | 2013-06-19 | 2013-09-04 | 成都智元汇数码科技有限公司 | 一种信息发布物联网终端多屏组合显示的方法 |
CN104703036A (zh) * | 2015-02-13 | 2015-06-10 | 广东欧珀移动通信有限公司 | 一种同步媒体文件播放进度的方法、装置及系统 |
CN108108146A (zh) * | 2018-01-19 | 2018-06-01 | 深圳市沃特沃德股份有限公司 | 多个播放设备同步播放的方法与播放设备 |
WO2021036835A1 (zh) * | 2019-08-30 | 2021-03-04 | 华为技术有限公司 | 一种蓝牙搜索方法、系统及相关装置 |
CN116600169A (zh) * | 2023-05-29 | 2023-08-15 | 抖音视界有限公司 | 媒体文件的预加载方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117750492B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021083280A1 (zh) | 一种跨设备的内容投射方法及电子设备 | |
CN107431860B (zh) | 基于位置服务的音频系统 | |
EP2695327B1 (en) | Systems and methods for implementing multicasting using personal area network (pan) wireless technology | |
US7330459B2 (en) | MAC controller and clock synchronizing method for use with the same | |
US8019272B2 (en) | Content reproducing apparatus and communication method therefor | |
EP1670250A2 (en) | Mobile communication device and system supporting media flow control | |
WO2021190466A1 (zh) | 一种设备间多媒体内容续播的方法 | |
WO2008105623A1 (en) | Method for receiving data service | |
CN103220301A (zh) | 一种媒体播放控制方法及其装置 | |
EP2269333A2 (en) | Method and apparatus for outputting media content | |
USRE44989E1 (en) | Method and system for distributed streaming service of portable devices | |
CN102084652B (zh) | 用于选择性地缓存突发流传输的方法和装置 | |
US20220095020A1 (en) | Method for switching a bit rate, and electronic device | |
CN117750492B (zh) | 一种同步播放方法、电子设备及计算机可读存储介质 | |
US8199776B2 (en) | System and method for effectively transmitting content bursts to electronic devices | |
CN111083506A (zh) | 一种基于5g智能终端的管理系统 | |
CN202772917U (zh) | 基于无线传输技术的多媒体文件分体式多声道同步播放实现系统 | |
CN114422840A (zh) | 音轨切换的方法及装置 | |
CN114390335B (zh) | 一种在线播放音视频的方法、电子设备及存储介质 | |
CN111586152A (zh) | 蓝牙传输数据的播放方法及装置、蓝牙传输数据的发送方法及装置 | |
EP4369747A1 (en) | Electronic device, and method of transmitting data in electronic device | |
WO2023208213A1 (zh) | 同步信号确定方法、资源选择和预留方法、装置、终端及存储介质 | |
WO2006006219A1 (ja) | コンテンツ送信装置およびコンテンツ配信システム | |
EP1770882A1 (en) | Method and system for utilizing a broadcast service in a communication network | |
CN116233505A (zh) | 投屏方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |