一种数据获取方法及电子设备技术

技术编号:36183744 阅读:10 留言:0更新日期:2022-12-31 20:42
本申请实施例提供一种数据获取方法及电子设备,涉及终端技术领域,在多个应用需要从底层获取数据时,可以仅使用一个while循环来获取,从而降低CPU占用率。在第一应用需要获取第一数据的情况下,第一应用在第三应用中注册第一监听对象。在第二应用需要获取第一数据的情况下,第二应用在第三应用中注册第二监听对象。第三应用采用while循环获取第一数据,将第一数据回调给第一监听对象和第二监听对象。一数据回调给第一监听对象和第二监听对象。一数据回调给第一监听对象和第二监听对象。

【技术实现步骤摘要】
一种数据获取方法及电子设备


[0001]本申请涉及终端
,尤其涉及一种数据获取方法及电子设备。

技术介绍

[0002]while循环是计算机的一种基本循环模式。while循环的一般表达式为:while(条件){循环体}。该表达式的含义为:当满足条件时进入循环,执行循环体;当不满足条件时,则跳出循环。while循环可用于应用从底层获取数据,如在满足一定条件下,则从底层的数据提供模块持续获取数据。
[0003]然而,专利技术人在实施本申请实施例的过程中发现:当多个应用并行通过while循环从底层获取数据时,会导致电子设备的中央处理器(Central Processing Unit,CPU)占用过高,影响电子设备的性能。

技术实现思路

[0004]有鉴于此,本申请提供了一种数据获取方法及电子设备,在多个应用需要从底层获取数据时,可以仅使用一个While循环来获取,从而降低CPU占用率。
[0005]第一方面,本申请实施例提供一种数据获取方法,可应用于包括第一应用、第二应用和第三应用的电子设备,如智能电视、手机、平板等。在第一应用需要获取第一数据的情况下,第一应用在第三应用中注册第一监听对象。在第二应用需要获取第一数据的情况下,第二应用在第三应用中注册第二监听对象。第三应用采用while循环获取第一数据,将第一数据回调给第一监听对象和第二监听对象。
[0006]综上所述,采用本申请实施例的方法,当电子设备中的多个应用(如第一应用、第二应用,下同)都需要获取第一数据时,该多个应用可以分别在第三应用中注册监听对象,然后由第三应用采用一个while循环获取第一数据并回调给各个监听对象。从而在多个应用需要从底层获取数据时,可以仅使用一个while循环来获取,降低CPU占用率,而且可以避免出现ANR现象。
[0007]在一种可能的设计方式中,第一应用具有音视频录制的功能,第一数据包括音频数据、视频数据和/或UI信息,上述方法还包括:响应于电子设备开始播放视频,电子设备确定第一应用需要获取第一数据。上述第三应用采用while循环获取第一数据,包括:第三应用采用while循环获取第k帧视频的音频数据、视频数据和/或UI信息,第k帧视频是电子设备当前正在播放的一帧视频,1≤k,k为整数。上述将第一数据回调给第一监听对象,包括:将第k帧视频的音频数据、视频数据和/或UI信息回调给第一监听对象。
[0008]也就是说,采用本实施例的方法,可以将当前播放的视频的每一帧数据(包括音频数据、视频数据和/或UI信息)都获取到并回调给需要的应用,如具有音视频录制的功能的第一应用。
[0009]在一种可能的设计方式中,上述第三应用采用while循环获取第k帧视频的音频数据、视频数据和/或UI信息,包括:第三应用采用while循环从电子设备的音频捕获模块
AudioCapture获取第k帧视频的音频数据,从电子设备的屏幕捕获模块ScreenCapture获取第k帧视频的屏幕显示数据,屏幕显示数据包括视频数据,或者,屏幕显示数据包括视频数据和UI信息。
[0010]也就是说,采用本实施例的方法,由AudioCapture提供音频数据,由ScreenCapture提供屏幕显示数据,从而使第三应用可以获取到每一帧视频的音频数据和屏幕显示数据,有利于后续各个应用获取到每一帧视频的音频和显示内容的信息。
[0011]在一种可能的设计方式中,AudioCapture产生视频数据的时间间隔不固定,ScreenCapture产生屏幕显示数据的时间间隔不固定。
[0012]也就是说,采用本实施例的方法,数据提供模块(即AudioCapture和ScreenCapture)产生相应数据的时间间隔不固定,针对该场景,采用while循环从数据提供模块获取相应数据,可以避免数据遗漏。
[0013]在一种可能的设计方式中,在将第k帧视频的音频数据、视频数据和/或UI信息回调给第一监听对象之后,上述方法还包括:第一应用将当前回调给第一监听对象的第k帧视频的音频数据、视频数据和/或UI信息存储在第一应用的缓存中,且若缓存中存储有第k

m帧视频的音频数据、视频数据和/或UI信息,第k

m帧视频的音频数据、视频数据和/或UI信息会被覆盖,1<m,m为整数。
[0014]也就是说,采用本实施例的方法,第一应用可以在缓存中存储最新的m帧视频的数据。一方面可以保留数据供后续使用,另一方面不会占用过多的存储空间。
[0015]在一种可能的设计方式中,在第一应用将当前回调给第一监听对象的第k帧视频的音频数据、视频数据和/或UI信息存储在第一应用的缓存中之后,上述方法还包括:第一应用响应于第一请求,基于缓存中存储的数据合成视频文件。第一应用存储视频文件。
[0016]也就是说,采用本实施例的方法,第一应用可以基于缓存中的数据生成视频文件,从而可以实现回录,即生成已经播放过的视频片段的视频文件。无需用户调节播放进度条确定回录的起始位置和结束位置,即可实现回录。同时,在直播场景中,也可以实现回录。
[0017]在一种可能的设计方式中,在第一应用在第三应用中注册第一监听对象之后,上述方法还包括:在第一应用不需要获取第一数据的情况下,第一应用取消在第三应用中注册的第一监听对象,在取消第一监听对象后,第三应用不再将获取的第一数据回调给第一监听对象。在第二应用在第三应用中注册第二监听对象之后,上述方法还包括:在第二应用不需要获取第一数据的情况下,第二应用取消在第三应用中注册的第二监听对象,在取消第二监听对象后,第三应用不再将获取的第一数据回调给第二监听对象。
[0018]也就是说,采用本实施例的方法,在各个应用无需获取第一数据后,则可以取消在第三应用中注册的监听对象,从而不会再接收到第三应用回调的数据。
[0019]在一种可能的设计方式中,第一应用具有音视频录制的功能,第一数据包括音频数据、视频数据和/或UI数据信息,上述方法还包括:电子设备结束播放视频,确定第一应用不需要获取第一数据。
[0020]在一种可能的设计方式中,电子设备中还包括第四应用,上述方法还包括:在第四应用需要获取第一数据的情况下,第四应用在第三应用中注册第三监听对象。第三应用将第一数据回调给第三监听对象。
[0021]也就是说,采用本实施例的方法,除前述第一应用和第二应用外,还可以由更多的
应用,如第四应用在需要获取第一数据的情况下,通过在第三应用中注册监听对象,以实现获取第一数据。
[0022]在一种可能的设计方式中,电子设备是智能电视,第三应用为电视服务应用,电视服务应用具有隔离应用与第一数据的数据提供模块,且具有调用数据提供模块中获取第一数据的接口的功能。
[0023]第二方面,本申请实施例提供一种电子设备,电子设备包括存储器和处理器,所述存储器和所述处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据获取方法,其特征在于,应用于包括第一应用、第二应用和第三应用的电子设备,所述方法包括:在所述第一应用需要获取第一数据的情况下,所述第一应用在所述第三应用中注册第一监听对象;在所述第二应用需要获取所述第一数据的情况下,所述第二应用在所述第三应用中注册第二监听对象;所述第三应用采用while循环获取所述第一数据,将所述第一数据回调给所述第一监听对象和所述第二监听对象。2.根据权利要求1所述的方法,其特征在于,所述第一应用具有音视频录制的功能,所述第一数据包括音频数据、视频数据和/或UI信息,所述方法还包括:响应于所述电子设备开始播放视频,所述电子设备确定所述第一应用需要获取所述第一数据;所述第三应用采用while循环获取所述第一数据,包括:所述第三应用采用所述while循环获取第k帧所述视频的所述音频数据、所述视频数据和/或所述UI信息,所述第k帧视频是所述电子设备当前正在播放的一帧视频,1≤k,k为整数;所述将所述第一数据回调给所述第一监听对象,包括:将所述第k帧视频的所述音频数据、所述视频数据和/或所述UI信息回调给所述第一监听对象。3.根据权利要求2所述的方法,其特征在于,所述第三应用采用所述while循环获取第k帧所述视频的所述音频数据、所述视频数据和/或所述UI信息,包括:所述第三应用采用所述while循环从所述电子设备的音频捕获模块AudioCapture获取所述第k帧视频的所述音频数据,从所述电子设备的屏幕捕获模块ScreenCapture获取所述第k帧视频的屏幕显示数据,所述屏幕显示数据包括所述视频数据,或者,所述屏幕显示数据包括所述视频数据和所述UI信息。4.根据权利要求3所述的方法,其特征在于,所述AudioCapture产生所述视频数据的时间间隔不固定,所述ScreenCapture产生所述屏幕显示数据的时间间隔不固定。5.根据权利要求2

4中任一项所述的方法,其特征在于,在所述将所述第k帧视频的所述音频数据、所述视频数据和/或所述UI信息回调给所述第一监听对象之后,所述方法还包括:所述第一应用将当前回调给所述第一监听对象的所述第k帧视频的所述音频数据、所述视频数据和/或所述UI信息存储在所述第一应用的缓存中,且若所述缓存中存储有第k

m帧视频的所述音频数据、所述视频数据和/或所述UI信息,所述第k

m帧视频的所述音频数据、所述视频数据和/或所述UI信息会被覆盖,1<m,m为整数。6.根据权利要求5所述的方法,其特征在于,在所述第一应用将当前回调给所述第一监听对象的所述第k帧视频的所述音频数据、所述视频数据和/或所述UI信息存储在所述第一应用的缓存中之后,所述方法还包括:所述...

【专利技术属性】
技术研发人员:肖瑶杨毅轩俞健
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1