CN106653068B - 一种音频数据的播放方法、装置及终端 - Google Patents
一种音频数据的播放方法、装置及终端 Download PDFInfo
- Publication number
- CN106653068B CN106653068B CN201610882824.5A CN201610882824A CN106653068B CN 106653068 B CN106653068 B CN 106653068B CN 201610882824 A CN201610882824 A CN 201610882824A CN 106653068 B CN106653068 B CN 106653068B
- Authority
- CN
- China
- Prior art keywords
- data
- audio
- audio stream
- information
- data frame
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种音频数据的播放方法、装置及终端,其中该方法包括:接收至少一个音频流数据,该音频流数据携带相应的音频流标记信息;根据该音频流标记信息,对相应的音频流数据分别进行缓存;当接收到音频数据的播放指令时,提取音频流标记信息,该音频数据的播放指令携带音频流标记信息;根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并对该目标音频数据进行播放。本实施例中将控制播放的时间信息与需要播放的音频流数据分开发送,从而可以实现多个音频流数据的同步缓存,更便于对播放进行控制,提高效率,减少在网络上发送的数据量,节省系统资源,大大提高了对音频流数据处理的灵活性。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种音频数据的播放方法、装置及终端。
背景技术
随着通信技术的不断发展,用户的娱乐也变得越来越多样化,比如多台播放设备(音箱、各类播放器等)通过有线或无线网络技术连接,组成一个播放组,同步播放相同的音乐。其中,使多台设备间的声音延时尽量小,从而保证用户听感上的一致,这是多设备同步播放的关键技术。
目前,实现播放设备同步播放的方式是每个数据帧中包括一个时间戳,该时间戳用于告知各个播放设备何时播放该数据帧中的音频数据。因为每个数据帧的播放时间在源设备(或主设备)发送时已预设了,如果要更改已发送给各个设备的数据帧的时间戳,源设备需要额外做很多工作,如重新计算已发出的各个数据帧的时间戳,将各个已发送数据帧的新的时间戳连同他们对应的数据帧编号发送给各个播放设备,这种方式既耗时也浪费系统资源,对数据帧进行处理的灵活性低。
发明内容
本发明的目的在于提供一种音频数据的播放方法、装置及终端,旨在解决处理数据帧耗时、浪费系统资源以及灵活性低的问题。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明提供一种音频数据的播放方法,其中包括:
接收至少一个音频流数据,所述音频流数据携带相应的音频流标记信息;
基于所述音频流标记信息,对相应的音频流数据分别进行缓存;
当接收到音频数据的播放指令时,提取播放指令中携带的音频流标记信息以及开始播放的时间信息;
根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并根据所述开始播放的时间信息对所述目标音频数据进行播放。
第二方面,本发明提供一种音频数据的播放装置,其中包括:
接收单元,用于接收至少一个音频流数据,所述音频流数据携带相应的音频流标记信息;
缓存单元,用于基于所述音频流标记信息,对相应的音频流数据分别进行缓存;
提取单元,用于当接收到音频数据的播放指令时,提取播放指令中携带的音频流标记信息以及开始播放的时间信息;
播放单元,用于根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并根据所述开始播放的时间信息对所述目标音频数据进行播放。
第三方面,本发明提供一种终端,其中包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如第一方面所提供的音频数据的播放方法。
相对于现有技术,本发明实施例,首先,播放设备接收一个或者多个音频流数据,其中该音频流数据携带相应的音频流标记信息,并且,按照该音频流标记信息,对这一个或者多个音频流数据分别进行缓存;在接收到音频数据的播放指令时,根据该播放指令中携带的音频流标记信息,从缓存的一个或者多个音频流数据中确定出目标音频数据,根据该播放指令中携带的开始播放的时间信息对该目标音频数据进行播放。即本实施例中将控制播放的时间信息与需要播放的音频流数据分开发送,从而可以实现多个音频流数据的同步缓存,更便于对播放进行控制,提高效率,减少在网络上发送的数据量,节省系统资源,大大提高了对音频流数据处理的灵活性。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1是本发明实施例提供的音频数据的播放方法的流程示意图。
图2为本发明实施例提供的音频数据的播放系统的场景示意图。
图3为本发明实施例提供的数据帧的组成示意图。
图4为本发明实施例提供的音频数据的播放方法的另一流程示意图。
图5为本发明实施例提供的一个音频流的数据帧发送和接收的示意图。
图6为本发明实施例提供的两个音频流的数据帧发送和接收的示意图。
图7为本发明实施例提供的两个音频流在播放设备的内存中缓存的示意图。
图8为本发明实施例提供的音频数据的播放装置的结构示意图。
图9为本发明实施例提供的音频数据的播放装置的另一结构示意图。
图10为本发明实施例提供的终端的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。所熟知的适合用于本发明的运算系统、环境与组态的范例可包括(但不限于)手持电话、个人计算机、服务器、多处理器系统、微电脑为主的系统、主架构型计算机、及分布式运算环境,其中包括了任何的上述系统或装置。
以下将分别进行详细说明。
在本实施例中,将从音频数据的播放装置的角度进行描述,该音频数据的播放装置具体可以集成在播放系统的从属的播放设备(即从设备)中,如手机、平板电脑、音箱、各类播放器等含有播放模块的设备。
一种音频数据的播放方法,包括:接收至少一个音频流数据,该音频流数据携带相应的音频流标记信息;根据该音频流标记信息,对相应的音频流数据分别进行缓存;当接收到音频数据的播放指令时,提取音频流标记信息,该音频数据的播放指令携带音频流标记信息;根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并对该目标音频数据进行播放。
请参阅图1,图1是本发明实施例提供的音频数据的播放方法的流程示意图。该方法包括:
在步骤S101中,接收至少一个音频流数据,该音频流数据携带相应的音频流标记信息。
可以理解的是,本发明实施例中一个音频流数据可以包含多个数据帧,其中,数据帧中可携带相应的音频流标记信息,如可以具体为音频流标记字段、音频流标记符号,等等。
一般的,该音频流标记信息用于标识该数据帧是属于哪个音频流的,如根据音频流标记信息可确定该数据帧是属于该哪首歌,等等。
可具体的,播放设备“接收至少一个音频流数据”可包括:
接收多个音频流数据中包含的数据帧,其中每个数据帧携带相应的音频流数据的音频流标记信息。
比如,该音频流标记信息可以是源设备为播放设备发送的音频流的编号,或者是源设备为每个音频流产生的一个不一样的随机数,播放设备接收源设备发送的多个携带音频流标记信息的数据帧。
在步骤S102中,基于该音频流标记信息,对相应的音频流数据分别进行缓存。
可以理解的是,在播放设备接收到多个携带音频流标记信息的数据帧之后,可以对其进行缓存,以便用户调用进行播放等。
其中,播放设备“基于该音频流标记信息,对相应的音频流数据分别进行缓存”的方式有很多,如可以具体包括:
分别对音频流标记信息相同的数据帧进行聚合,得到相应的音频流数据,对得到的音频流数据进行缓存。
比如,播放设备通过音频流标记信息可以识别到该数据帧是属于哪个音频流的,从而可以分别将音频流标记信息相同的数据帧进行聚合,即将数据帧放到对应的音频流缓存中。
可具体的,如源设备向播放设备分别发送“数据帧1、数据帧1、数据帧2……数据帧1、数据帧2、数据帧2”,则播放设备将接收到的“数据帧1”进行聚合、将接收到的“数据帧2”进行聚合,从而识别出数据帧1属于音频流1、数据帧2属于音频流2,并分别将得到的音频流1与音频流2进行缓存。
在某些实施方式中,每个数据帧还携带帧序列号信息,也就是源设备在发送数据帧之前,将帧序列号信息也封装在每个数据帧中。
其中帧序列号信息可具体为帧序列号字段、帧序列号符号等等,用于表示当前帧在音频流的序号,如一首歌的所有数据帧中的序号等。
在某些实施方式中,播放设备“对得到的音频流数据进行缓存”可以具体包括:
根据该帧序列号信息,对音频流数据中的数据帧进行排序,得到排序后的音频流数据,对该排序后的音频流数据进行缓存。
即,播放设备识别出数据帧属于哪个音频流后,可以根据帧序列号信息将接收到的数据帧还原为正确的音频流,同时也可以实现对音频数据进行播放,如确定从音频流的哪个时间点开始播放。
在步骤S103中,当接收到音频数据的播放指令时,提取该播放指令中携带的音频流标记信息以及开始播放的时间信息。
在步骤S104中,根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并根据该开始播放的时间信息对该目标音频数据进行播放。
可具体的,该播放指令可以由用户触发播放设备生成,也可以由源设备向播放设备发送,其中该播放指令中携带有音频流标记信息以及开始播放的时间信息;其中,播放设备可以根据该音频流标记信息可以确定出需要播放的目标音频数据,根据开始播放的时间信息可确定从音频流的哪个时间点开始播放。
进一步的,本实施例中,该音频数据的播放指令还携带帧序列号信息;基于此,播放设备“根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据”可以具体包括:
(11)根据该音频流标记信息以及帧序列号信息,从缓存的音频流数据中确定相应的音频数据帧。
(12)将该音频数据帧确定为目标音频数据。
比如,首先根据该音频流标记信息,从缓存的多个音频流数据中确定相应的音频流数据,然后再根据帧序列号信息,从确定的音频流数据中确定出音频数据帧,最后将该音频数据帧确定为需要播放的目标音频数据。
由于该音频数据的播放指令还可以携带开始播放的时间信息,因此“根据该开始播放的时间信息对该目标音频数据进行播放”,可以包括:
(21)根据该开始播放的时间信息,确定相应的时间点。
(22)在相应的时间点处对该目标音频数据进行播放。
可以理解的是,开始播放的时间信息,是源设备设置的各台播放设备同步开始播放的时间点,通常是当前时间往后的某个时间点,比如,当前时间是9点30分20秒,则源设备可以设置开始播放的时间为9点30分21秒,这主要是考虑到网络传输可能存在延时,更能保证音频同步播放的精度。
由上述可知,本实施例提供的音频数据的播放方法,首先,播放设备接收一个或者多个音频流数据,其中该音频流数据携带相应的音频流标记信息,并且,按照该音频流标记信息,对这一个或者多个音频流数据分别进行缓存;在接收到音频数据的播放指令时,根据该播放指令中携带的音频流标记信息,从缓存的一个或者多个音频流数据中确定出目标音频数据,根据该播放指令中携带的开始播放的时间信息对该目标音频数据进行播放。即本实施例中将控制播放的时间信息与需要播放的音频流数据分开发送,从而可以实现多个音频流数据的同步缓存,更便于对播放进行控制,提高效率,减少在网络上发送的数据量,节省系统资源,大大提高了对音频流数据处理的灵活性。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
首先,如可参考图2,为本实施例提供的音频数据的播放系统(可简称播放系统)的场景示意图,包括多个播放设备,该多个播放设备可以包括一个源设备以及多个从属的播放设备(可简称从设备),其中,该播放设备可以具体为手机、音箱或各类播放器,等等。
以下对本实施例音频数据的播放系统的工作原理和流程进行简单介绍。
(一)播放系统的时钟同步
本实施例可以通过NTP(Network Time Protocol)或者SNTP(Simple NetworkTime Protocol)协议,播放系统内各个播放设备的时钟。
在播放系统内,有一个播放设备负责与控制终端(如智能手机等)通讯,执行来自控制终端的控制命令并转发给播放系统内的其它播放设备,同时该播放设备也会将播放系统和各个播放设备的状态信息返回给控制终端,负责这些工作的播放设备称之为主设备,其它播放设备可称之为从设备。各个从设备周期地执行NTP或SNTP协议,与主设备同步时钟,从而使各个播放设备的时钟基本一致。
(二)音频数据的分发
在该播放系统内,有一台播放设备负责音频数据的分发,可称之为源设备。源设备从互联网、局域网、本机存储器和外部存储器、或者经模拟数字转换后的模拟音频输入,获得音频数据。源设备将音频数据拆分成一个个数据帧并分发至各个从设备,每个数据帧的播放时间相同。
其中,源设备和主设备,可以是同一台设备,也可以是不同的设备,其中本发明实施例中源设备和主设备为同一台设备。
可以理解的是,本发明实施例中,音频数据也可以称为音频流数据,是指同一个数据对象(如歌曲)在不同的时刻的数据的集合,该音频流数据包括多个数据帧。
可具体的,比如,一段时长2秒、采样率为44100Hz的音频数据,拆分成播放时间为20毫秒的数据帧,则可拆分成100个数据帧,每个数据帧内包括882个采样(sample)数据。一段时长2分钟、采样率为96000Hz的音频数据,拆分成播放时间为20毫秒的数据帧,则可以拆分成6000个数据帧,每个数据帧包括1920个采样数据。
如果音频数据经拆分,最后一个数据帧没有填满,则补上空数据,如全部填充0,播放设备在处理这些空数据时,应该静音。比如,一段1.01秒的音频数据,拆分成20毫秒的数据帧,最后一个数据帧只有10毫秒的音频数据,则源设备将该数据帧的后10毫秒填充为0。播放设备在处理上述填充了0的数据帧时,如果遇到填充数据0,则静音输出。
(三)音频数据的结构
每个数据帧,包含一个帧报头。也就是说,帧报头和帧(即音频数据本身)是作为一个整体发送给各个播放设备的。
在每个数据帧的帧报头里,包括了该数据帧有关的一些信息。在本技术方案中,帧报头可以包括音频流标记字段、帧序列号字段、编码类型字段以及采样率信息字段,可参考图3,图3示出了本实施例中一个数据帧的组成。
1、音频流标记字段
用于标识该数据帧是属于哪个音频流的(如标识该数据帧是哪首歌的),这可以是源设备为其发送的音频流的编号,或者是源设备为每个音频流产生的一个不一样的随机数。
播放设备可以通过音频流标记字段识别到该数据帧是属于哪个音频流的,从而将该数据帧放到对应的音频流缓存中。
如源设备向播放设备分别发送“数据帧1、数据帧1、数据帧2……数据帧1、数据帧2、数据帧2”,则播放设备将接收到的“数据帧1”进行聚合、将接收到的“数据帧2”进行聚合,从而识别出数据帧1属于音频流1并缓存、数据帧2属于音频流2并缓存。即,音频流标记字段在同时发送多个音频流时显得非常有必要。
2、帧序列号字段
用于表示当前帧在音频流的序号(如一首歌的所有数据帧中的序号)。
播放设备依据该帧序列号字段将接收到的数据帧还原为正确的音频流,同时也可以实现对音频数据的播放,如确定从音频流的哪个时间点开始播放。
3、编码类型字段
用于表示当前帧的音频数据所使用的编码和/或压缩的类型,如脉冲编码调制(PCM,Pulse Code Modulation)、MP3、WAV等。
4、采样率信息字段
用于标识当前帧内的音频数据的采样率(如通常的44.1KHz、48KHz等)。
播放设备根据采样率信息,可以精确地处理音频数据并执行数字到模拟的转换。
可以理解的是,一个音频流(如一首歌)的连续发送的数据帧,因为各个数据帧的音频数据的编码类型、采样率是一样的。
因此,在较为优选的实施方式中,只需在音频流的开始一个或几个数据帧的帧报头包括编码类型和采样率信息字段,其它数据帧的帧报头只需保留帧序列号字段。播放设备在接收音频数据帧时,如果发现数据帧的帧报头没有编码类型和采样率字段,则将之前最近接收到的编码类型和采样率信息应用到该数据帧。如此操作,可以进一步减少网络传输的数据。
对于每台播放设备,接收音频流的数据帧,根据各个数据帧的音频流标记字段和帧序列号字段,将数据帧缓存到对应的音频流的音频数据序列中。
基于上述介绍,以下对从设备(播放设备)的播放流程进行具体分析:
请参阅图4,图4为本发明实施例提供的音频数据的播放方法的另一流程示意图。该方法包括:
在步骤S201中,播放设备接收至少一个音频流的数据帧。
在步骤S202中,播放设备分别对音频流标记字段相同的数据帧进行聚合,得到相应的音频流数据,对得到的音频流数据进行缓存。
可一并参考图5,为一个音频流的数据帧发送和接收的示意。
源设备将接收到的音频数据(音频流的数据帧),放置在内存中的发送缓存中,然后通过网络接口发送给其它播放设备。因为只有一个音频流,数字帧中的音频流标记字段只有一个数字标记,如图5中表示为1。
可一并参考图6,为两个音频流的数据帧发送和接收的示意。
源设备将接收到的两个音频流的音频数据(音频流的数据帧),放置在内存的两个发送缓存中,然后通过网络接口将两个发送缓存的数据帧,发送给播放设备。
其中,两个音频流的数据帧,在图6中分别用1和2标识。播放设备接收到数据帧后,通过音频流标记字段,识别出是哪个音频流的数据帧,然后对应地放置到内存中相应的音频流接收缓存中,以用于播放。
依据上述原理,源设备还可以同时发送更多个音频流,播放设备也可以同时接收和缓存更多个音频流。这里所说的多个音频流,通常指多首歌曲。
在该播放系统中,源设备可以以组播的形式,将数据帧发送给系统内的其它播放设备,也可以用单播形式发送。如果用组播,源设备发送一次,组内的播放设备都可以收到,效率比较高。如果用单播的话,源设备的负担比较重,但可以适应各个播放设备不同的网络质量。
比如,有些播放设备的网络传输质量比较低(延时长、丢包率高),源设备可以提高数据帧的发送速率(单位时间内发送更多的数据帧),这样可以有更充裕的时间处理丢失的数据帧(如重发);在某些实施方式中,还可以是组播和单播结合的方式,如针对网络传输质量比较好的多个播放设备,使用组播方式,而个别网络传输质量比较差的,使用单播方式。
在步骤S203中,播放设备接收到播放指令时,提取播放指令中携带的音频流标记字段、帧序列号字段以及开始播放的时间信息。
在步骤S204中,播放设备根据音频流标记字段,从缓存的音频流数据中确定需要播放的音频流数据。
在步骤S205中,播放设备根据帧序列号字段,确定该需要播放的音频流数据中相应的音频数据帧。
在步骤S206中,播放设备根据开始播放的时间信息对相应的音频数据帧进行播放。
其中,步骤S203至步骤S206为音频同步播放的过程:
可具体的,使用上述(二)音频数据的分发的方法,多台播放设备可在内存中缓存源设备发送过来的音频数据,不同的音频流被保存在不同的内存区域,而且,每个音频流以数据帧为单位,依据帧序列号顺序保存。如图7所示的,两个音频流在播放设备的内存中缓存的示意图。
源设备可以在用户选择播放某首歌曲时,向相关的播放设备发送音频数据,使它们缓存相应的音频数据。源设备也可以根据用户已添加到播放列表中的歌曲,提前缓存一首或多首歌曲的音频流数据。
如,播放列表中有A、B、C、D四首歌曲,正在播放歌曲B,则,源设备发送歌曲B的音频数据给其它同步播放的多台播放设备,还可以提前发送接下来要播放的一首或多首歌曲的音频数据(如歌曲B之后的歌曲C和歌曲D)。
使用上述(一)播放系统的时钟同步的方法,使得同步播放的多台播放设备其时钟已实现同步。
比如,当多台播放设备需要同步播放已缓存了部分或全部音频数据的歌曲时,播放系统的源设备向这些参与同步播放的播放设备发送一条音频数据的播放命令,该播放命令中包括下面的参数:歌曲对应的音频流标记字段、音频流的帧序列号字段、开始播放的时间信息。
其中,歌曲对应的音频流标记字段,用于指示多台播放设备同步播放的歌曲数据,这些数据已通过上述方法缓存到播放设备的内存中。
音频流的帧序列号字段,用于指示多台播放设备从同一首歌曲的相同一个地方开始播放,如果是从头开始播放歌曲,则这个帧序列号字段为该音频流的第一个数据帧的编号(如01)。
开始播放的时间信息,是源设备设置的各台播放设备同步开始播放的时间点,通常是当前时间往后的某个时间点,比如,当前时间是9点30分20秒,则源设备可以预设开始播放的时间为9点30分21秒,这主要是考虑到网络传输可能存在延时。
参与同步播放的多台播放设备,接收到源设备的音频数据的播放命令,依据音频流标记字段和音频流的帧序号字段,在内存中查找到该音频数据帧。播放设备侦测其系统时钟信息,当系统时钟到达音频数据的播放命令中的开始播放的时间信息指示的时间点,则开始播放上述音频数据帧中的音频数据,并依次播放其后的音频数据帧,实现多台设备同步播放。
由上述可知,本实施例提供的音频数据的播放方法,首先,播放设备接收一个或者多个音频流数据,其中该音频流数据携带相应的音频流标记信息,并且,按照该音频流标记信息,对这一个或者多个音频流数据分别进行缓存;在接收到音频数据的播放指令时,根据该播放指令中携带的音频流标记信息,从缓存的一个或者多个音频流数据中确定出目标音频数据,根据该播放指令中携带的开始播放的时间信息对该目标音频数据进行播放。即本实施例中将控制播放的时间信息与需要播放的音频流数据分开发送,从而可以实现多个音频流数据的同步缓存,更便于对播放进行控制,提高效率,减少在网络上发送的数据量,节省系统资源,大大提高了对音频流数据处理的灵活性。
为便于更好的实施本发明实施例提供的音频数据的播放方法,本发明实施例还提供一种基于上述音频数据的播放方法的装置以及系统。其中名词的含义与上述音频数据的播放的方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图8,图8为本发明实施例提供的音频数据的播放装置的结构示意图,该音频数据的播放装置300可以包括:接收单元301、缓存单元302、提取单元303以及播放单元304。
接收单元301,用于接收至少一个音频流数据,该音频流数据携带相应的音频流标记信息。
可以理解的是,本发明实施例中一个音频流数据可以包含多个数据帧,其中,数据帧中可携带相应的音频流标记信息,如可以具体为音频流标记字段、音频流标记符号,等等。
一般的,该音频流标记信息用于标识该数据帧是属于哪个音频流的,如根据音频流标记信息可确定该数据帧是属于该哪首歌,等等。
缓存单元302,用于基于该音频流标记信息,对相应的音频流数据分别进行缓存。
可以理解的是,在播放设备接收到多个携带音频流标记信息的数据帧之后,可以对其进行缓存,以便用户调用进行播放等。
提取单元303,用于当接收到音频数据的播放指令时,提取该播放指令中携带的音频流标记信息以及开始播放的时间信息。播放单元304,用于根据该音频流标记信息,从缓存的音频流数据中确定目标音频数据,并根据该开始播放的时间信息对该目标音频数据进行播放。
可具体的,该播放指令可以由用户触发播放设备生成,也可以由源设备向播放设备发送,其中该播放指令中携带有音频流标记信息以及开始播放的时间信息;其中,播放设备可以根据该音频流标记信息可以确定出需要播放的目标音频数据,根据开始播放的时间信息可确定从音频流的哪个时间点开始播放。
可具体的,该接收单元301可用于:接收多个音频流数据中包含的数据帧,其中每个数据帧携带相应的音频流数据的音频流标记信息。
比如,该音频流标记信息可以是源设备为播放设备发送的音频流的编号,或者是源设备为每个音频流产生的一个不一样的随机数,播放设备接收源设备发送的多个携带音频流标记信息的数据帧。
基于此,请一并参阅图9,图9为本发明实施例提供的音频数据的播放装置的另一结构示意图,该音频数据的播放装置400中缓存单元302可以具体包括:
聚合子单元3021,用于分别对音频流标记信息相同的数据帧进行聚合,得到相应的音频流数据。
缓存子单元3022,用于对得到的音频流数据进行缓存。
比如,播放设备通过音频流标记信息可以识别到该数据帧是属于哪个音频流的,从而可以分别将音频流标记信息相同的数据帧进行聚合,即将数据帧放到对应的音频流缓存中。
可具体的,如源设备向播放设备分别发送“数据帧1、数据帧1、数据帧2……数据帧1、数据帧2、数据帧2”,则播放设备将接收到的“数据帧1”进行聚合、将接收到的“数据帧2”进行聚合,从而识别出数据帧1属于音频流1、数据帧2属于音频流2,并分别将得到的音频流1与音频流2进行缓存。
在某些实施方式中,每个数据帧还携带帧序列号信息,也就是源设备在发送数据帧之前,将帧序列号信息也封装在每个数据帧中。
其中帧序列号信息可具体为帧序列号字段、帧序列号符号等等,用于表示当前帧在音频流的序号,如一首歌的所有数据帧中的序号等。
在某些实施方式中,该缓存子单元3022,可具体用于根据该帧序列号信息,对音频流数据中的数据帧进行排序,得到排序后的音频流数据,对该排序后的音频流数据进行缓存。
即,播放设备识别出数据帧属于哪个音频流后,可以根据帧序列号信息将接收到的数据帧还原为正确的音频流,同时也可以实现对音频数据进行播放,如确定从音频流的哪个时间点开始播放。
进一步的,本实施例中,该音频数据的播放指令还携带帧序列号信息;基于此,如图9所示,该播放单元304可以包括:
第一确定子单元3041,用于根据该音频流标记信息以及帧序列号信息,从缓存的音频流数据中确定相应的音频数据帧。
第二确定子单元3042,用于将该音频数据帧确定为目标音频数据。
比如,首先根据该音频流标记信息,从缓存的多个音频流数据中确定相应的音频流数据,然后再根据帧序列号信息,从确定的音频流数据中确定出音频数据帧,最后将该音频数据帧确定为需要播放的目标音频数据。
由于该音频数据的播放指令还可以携带开始播放的时间信息,因此该播放单元304还可以包括:
第三确定子单元3043,用于根据该开始播放的时间信息,确定相应的时间点。
播放子单元3044,用于在该时间点处对该目标音频数据进行播放。
可以理解的是,开始播放的时间信息,是源设备设置的各台播放设备同步开始播放的时间点,通常是当前时间往后的某个时间点,比如,当前时间是9点30分20秒,则源设备可以设置开始播放的时间为9点30分21秒,这主要是考虑到网络传输可能存在延时,更能保证音频同步播放的精度。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该音频数据的播放装置具体可以集成在播放系统的从属的播放设备(即从设备)中,如手机、平板电脑、音箱、各类播放器等含有播放模块的设备。
由上述可知,本实施例提供的音频数据的播放装置,设置有第一缓存空间以及第二缓存空间两个缓存空间,将接收到多媒体数据包缓存至预设的第一缓存空间,其中该多媒体数据包包含播放时间信息;对预设的第二缓存空间的存储情况进行实时检测,若第二缓存空间的存储情况低于预设阈值,则从第一缓存空间中调取多媒体数据包并存入第二缓存空间;当接收到播放指令时,从该第二缓存空间中获取多媒体数据包,并根据相应播放时间信息对多媒体数据包进行播放,由于设置了两个缓存空间,一个用于管理设备缓存,一个用于同步播放调节,有效的降低了系统资源消耗,同时也提高了多个设备同步播放的精度。
本发明还提供一种终端,如平板电脑、手机、音箱等终端,请参阅图10,图10为本发明实施例提供的终端结构示意图。该终端500可以包括射频(RF,Radio Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器504、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图10中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
射频电路501可用于收发信息,或通话过程中信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,射频电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,射频电路501还可以通过无线通信与网络和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器508通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。
输入单元503可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、指纹识别模组、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元504可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图10中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路506可通过扬声器、传声器提供用户与终端之间的音频接口。音频电路506可将接收到的音频数据转换成电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经射频电路501以发送给比如另一终端,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与终端的通信。
无线保真(WiFi)属于短距离无线传输技术,终端通过无线保真模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了无线保真模块507,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器508是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。
终端还包括给各个部件供电的电源509(比如电池)。优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图10中未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。
具体在本实施例中,终端中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现各种功能:
接收至少一个音频流数据,该音频流数据携带相应的音频流标记信息;基于该音频流标记信息,对相应的音频流数据分别进行缓存;当接收到音频数据的播放指令时,提取该播放指令中携带的音频流标记信息以及开始播放的时间信息;根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并根据该开始播放的时间信息对该目标音频数据进行播放。
在某些实施方式中,处理器508接收多个音频流数据中包含的数据帧,其中每个数据帧携带相应的音频流数据的音频流标记信息;基于此,分别对音频流标记信息相同的数据帧进行聚合,得到相应的音频流数据,对得到的音频流数据进行缓存。
进一步的,每个数据帧还携带帧序列号信息;处理器508根据该帧序列号信息,对音频流数据中的数据帧进行排序,得到排序后的音频流数据,对该排序后的音频流数据进行缓存。
在某些实施方式中,音频数据的播放指令还携带帧序列号信息;处理器508还运行存储在存储器502中的应用程序,从而实现如下功能:
根据音频流标记信息以及帧序列号信息,从缓存的音频流数据中确定相应的音频数据帧;将音频数据帧确定为目标音频数据。
根据该开始播放的时间信息,确定相应的时间点;在该时间点处对该目标音频数据进行播放。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对音频数据的播放方法的详细描述,此处不再赘述。
本发明实施例提供的该音频数据的播放装置,譬如为计算机、平板电脑、具有触摸功能的手机等等,该音频数据的播放装置与上文实施例中的音频数据的播放方法属于同一构思,在该音频数据的播放装置上可以运行该音频数据的播放方法实施例中提供的任一方法,其具体实现过程详见该音频数据的播放方法实施例,此处不再赘述。
需要说明的是,对本发明该音频数据的播放方法而言,本领域普通测试人员可以理解实现本发明实施例该音频数据的播放方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如该音频数据的播放方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储器(ROM,ReadOnly Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本发明实施例的该音频数据的播放装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,该存储介质譬如为只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种音频数据的播放方法、装置及终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上该,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种音频数据的播放方法,其特征在于,包括:
接收至少一个音频流数据,所述音频流数据包含多个数据帧,每个所述数据帧携带相应的音频流标记信息,所述音频流标记信息用于标识该数据帧是属于哪个音频流;
分别对音频流标记信息相同的数据帧进行聚合,得到相应的音频流数据,对得到的音频流数据进行缓存;
当接收到音频数据的播放指令时,提取播放指令中携带的音频流标记信息以及开始播放的时间信息;
根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并根据所述开始播放的时间信息对所述目标音频数据进行播放。
2.根据权利要求1所述的音频数据的播放方法,其特征在于,每个所述数据帧还携带帧序列号信息;
所述对得到的音频流数据进行缓存包括:
根据所述帧序列号信息,对音频流数据中的数据帧进行排序,得到排序后的音频流数据,对所述排序后的音频流数据进行缓存。
3.根据权利要求1所述的音频数据的播放方法,其特征在于,所述音频数据的播放指令还携带帧序列号信息;
根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据包括:
根据所述音频流标记信息以及帧序列号信息,从缓存的音频流数据中确定相应的音频数据帧;
将所述音频数据帧确定为目标音频数据。
4.根据权利要求3所述的音频数据的播放方法,其特征在于,所述根据所述开始播放的时间信息对所述目标音频数据进行播放,包括:
根据所述开始播放的时间信息,确定相应的时间点;
在所述时间点处对所述目标音频数据进行播放。
5.一种音频数据的播放装置,其特征在于,包括:
接收单元,用于接收至少一个音频流数据,所述音频流数据包含多个数据帧,每个所述数据帧携带相应的音频流标记信息,所述音频流标记信息用于标识该数据帧是属于哪个音频流;
缓存单元包括聚合子单元和缓存子单元:
所述聚合子单元,用于分别对音频流标记信息相同的数据帧进行聚合,得到相应的音频流数据;
所述缓存子单元,用于对得到的音频流数据进行缓存;
提取单元,用于当接收到音频数据的播放指令时,提取播放指令中携带的音频流标记信息以及开始播放的时间信息;
播放单元,用于根据提取的音频流标记信息,从缓存的音频流数据中确定目标音频数据,并根据所述开始播放的时间信息对所述目标音频数据进行播放。
6.根据权利要求5所述的音频数据的播放装置,其特征在于,每个所述数据帧还携带帧序列号信息;
所述缓存子单元,用于根据所述帧序列号信息,对音频流数据中的数据帧进行排序,得到排序后的音频流数据,对所述排序后的音频流数据进行缓存。
7.根据权利要求5所述的音频数据的播放装置,其特征在于,所述音频数据的播放指令还携带帧序列号信息以及开始播放的时间信息;
所述播放单元包括:
第一确定子单元,用于根据所述音频流标记信息以及帧序列号信息,从缓存的音频流数据中确定相应的音频数据帧;
第二确定子单元,用于将所述音频数据帧确定为目标音频数据;
第三确定子单元,用于根据所述开始播放的时间信息,确定相应的时间点;
播放子单元,用于在所述时间点处对所述目标音频数据进行播放。
8.一种终端,其特征在于,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1至权利要求4任一项所述的方法。
9.一种计算机可读存储介质,其存储有计算机程序,其中,所述计算机程序使得计算机执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610882824.5A CN106653068B (zh) | 2016-10-08 | 2016-10-08 | 一种音频数据的播放方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610882824.5A CN106653068B (zh) | 2016-10-08 | 2016-10-08 | 一种音频数据的播放方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106653068A CN106653068A (zh) | 2017-05-10 |
CN106653068B true CN106653068B (zh) | 2019-06-14 |
Family
ID=58854301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610882824.5A Active CN106653068B (zh) | 2016-10-08 | 2016-10-08 | 一种音频数据的播放方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106653068B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616767B (zh) * | 2018-04-28 | 2020-12-29 | 海信视像科技股份有限公司 | 一种音频数据传输方法及装置 |
CN109040904B (zh) * | 2018-10-31 | 2020-06-16 | 北京羽扇智信息科技有限公司 | 智能音箱的音频播放方法及装置 |
CN109657092A (zh) * | 2018-11-27 | 2019-04-19 | 平安科技(深圳)有限公司 | 音频流实时回放方法、装置和电子设备 |
CN112187705B (zh) * | 2019-07-04 | 2022-04-15 | 成都鼎桥通信技术有限公司 | 音频播放方法及设备 |
CN113691673B (zh) * | 2020-05-13 | 2023-05-16 | 北京小米移动软件有限公司 | 一种音频播放控制方法、装置及存储介质 |
US11811686B2 (en) * | 2020-12-08 | 2023-11-07 | Mediatek Inc. | Packet reordering method of sound bar |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731506B (zh) * | 2005-09-07 | 2010-05-26 | 北京中星微电子有限公司 | 实现将midi文件和数字波形音频文件合成播放的方法及装置 |
CN101118776B (zh) * | 2007-08-21 | 2012-09-05 | 中国科学院计算技术研究所 | 实现音、视频数据同步的方法、系统及装置 |
CN101453286B (zh) * | 2007-12-07 | 2011-04-20 | 中兴通讯股份有限公司 | 一种多媒体广播系统中数字音频复用传输的方法 |
CN101494793B (zh) * | 2009-03-03 | 2011-06-15 | 北京搜狗科技发展有限公司 | 流媒体数据的发送、接收方法、装置和系统 |
CN104867513B (zh) * | 2015-04-20 | 2017-09-29 | 广东欧珀移动通信有限公司 | 一种播放控制方法及设备 |
CN104965874B (zh) * | 2015-06-11 | 2019-09-13 | 腾讯科技(北京)有限公司 | 信息处理方法及装置 |
-
2016
- 2016-10-08 CN CN201610882824.5A patent/CN106653068B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106653068A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106653068B (zh) | 一种音频数据的播放方法、装置及终端 | |
CN106254903B (zh) | 一种多媒体数据的同步播放方法、装置及系统 | |
CN106412093B (zh) | 一种数据的上传方法、装置及系统 | |
CN106448714B (zh) | 一种播放设备的同步播放方法、装置及系统 | |
CN103414982B (zh) | 一种提供声音的方法和装置 | |
CN106411448B (zh) | 播放控制方法、装置及终端 | |
CN103634717B (zh) | 一种利用耳机控制的方法、装置及终端设备 | |
CN106528545B (zh) | 一种语音信息的处理方法及装置 | |
CN103559731B (zh) | 一种锁屏状态下歌词显示的方法及终端 | |
CN106095387B (zh) | 一种终端的音效设置方法及终端 | |
CN106412662A (zh) | 时间戳分配方法及装置 | |
CN106452643B (zh) | 播放控制方法、装置、终端及播放系统 | |
CN105959482B (zh) | 一种场景音效的控制方法、及电子设备 | |
CN106254924B (zh) | 一种多媒体数据的播放方法、系统及相关设备 | |
CN107295591A (zh) | 通话方法、装置、计算机可存储介质和移动终端 | |
CN106412629B (zh) | 媒体数据传输的处理方法、装置、系统及计算机可读媒体介质 | |
CN109862430A (zh) | 多媒体播放方法及终端设备 | |
CN106205657B (zh) | 一种歌词显示方法和装置 | |
CN106411447B (zh) | 播放控制方法、装置及终端 | |
CN106452644B (zh) | 播放控制方法、装置及终端 | |
CN111081283A (zh) | 一种音乐播放方法、装置、存储介质及终端设备 | |
CN109725819A (zh) | 界面显示方法、装置、双屏双系统终端及可读存储介质 | |
CN106791074B (zh) | 歌曲信息显示方法、装置及移动终端 | |
CN105282628B (zh) | 一种视频播放的方法和装置 | |
CN106454420B (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 | ||
CB02 | Change of applicant information |
Address after: 523860 No. 18, Wu Sha Beach Road, Changan Town, Dongguan, Guangdong Applicant after: OPPO Guangdong Mobile Communications Co., Ltd. Address before: 523860 No. 18, Wu Sha Beach Road, Changan Town, Dongguan, Guangdong Applicant before: Guangdong OPPO Mobile Communications Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |