一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

屏幕录制方法、装置、设备及存储介质与流程

2022-11-28 11:02:06 来源:中国专利 TAG:


1.本公开涉及通信技术领域,尤其涉及一种屏幕录制方法、装置、设备及存储介质。


背景技术:

2.随着科技的发展,终端设备技术也越来越成熟,例如,电子设备的功能越来越齐全,例如,小窗口功能、语音助手功能、录屏功能等。录屏功能可以在录制电子设备的显示画面的同时,录制电子设备的内部音频(即电子设备正在播放的音频)或者通过麦克风采集的外界声音。
3.然而,相关技术中的录屏功能无法同时录制电子设备的内部音频和通过麦克风采集的外界声音,使得电子设备的录屏性能较差,无法应用于需要同时录制电子设备的内部音频和外界声音的应用场景。


技术实现要素:

4.为克服相关技术中存在的问题,本公开提供一种屏幕录制方法、装置、设备及存储介质,可以提高电子设备的录屏性能,从而满足各种场景下的录屏需求,还可以增强电子设备的录屏效果。
5.根据本公开实施例的第一方面,提供一种屏幕录制方法,应用于电子设备,所述方法包括:
6.在检测到针对所述电子设备的显示界面的屏幕录制指令的情况下,获取所述显示界面的画面数据;
7.通过所述电子设备的内部接口,从当前进行音频播放的目标应用程序中得到所述目标应用程序的第一音频数据;
8.通过所述电子设备的音频采集模组,采集所述电子设备当前所处空间中的第二音频数据;
9.对所述第一音频数据和所述第二音频数据进行合成处理,得到目标音频数据;
10.基于所述画面数据和所述目标音频数据,生成录屏文件。
11.在一些实施例中,所述通过所述电子设备的内部接口,从当前进行音频播放的目标应用程序中得到所述目标应用程序的第一音频数据,包括:
12.执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至硬件抽象层;
13.所述对所述第一音频数据和所述第二音频数据进行合成处理,得到目标音频数据,包括:
14.将所述音频采集模组采集的第二音频数据传输至所述硬件抽象层;
15.通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据。
16.在一些实施例中,所述通过所述硬件抽象层的音频处理模块,对所述第一音频数
据和所述第二音频数据进行合成处理,得到所述目标音频数据,包括:
17.通过所述音频处理模块,对所述第一音频数据进行格式转换,得到目标格式的第一音频数据;
18.对所述第二音频数据进行格式转换,得到所述目标格式的第二音频数据;
19.确定所述目标格式的第一音频数据中各个第一音频单元的第一时间戳,以及所述目标格式的第二音频数据中各个第二音频单元的第二时间戳;
20.按照所述第一时间戳和所述第二时间戳,对所述第一音频单元和所述第二音频单元进行组合,得到所述目标音频数据。
21.在一些实施例中,所述执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至硬件抽象层,包括:
22.执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至所述电子设备的音频管理器;
23.所述音频管理器对所述第一音频数据进行降噪处理,并将进行所述降噪处理之后的第一音频数据传输至所述硬件抽象层;
24.所述通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据,包括:
25.通过所述音频处理模块,对所述第二音频数据和进行降噪处理之后的第一音频数据进行合成处理,得到所述目标音频数据。
26.在一些实施例中,所述方法还包括:
27.所述硬件抽象层的数据接收模块在接收到所述第一音频数据之后,对所述第一音频数据进行复制,得到第一音频副本;
28.所述数据接收模块对接收到的第二音频数据进行复制,得到第二音频副本;
29.所述数据接收模块将所述第一音频副本和所述第二音频副本,传输至所述音频处理模块;
30.所述通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据,包括:
31.通过所述音频处理模块,对所述第一音频副本和所述第二音频副本进行合成处理,得到所述目标音频数据。
32.在一些实施例中,所述方法还包括:
33.所述数据接收模块将所述第一音频数据传输至所述电子设备的音频输出模组,通过所述音频输出模组输出;
34.所述数据接收模块将所述第二音频数据传输至所述目标应用程序。
35.在一些实施例中,所述基于所述画面数据和所述目标音频数据,生成录屏文件,包括:
36.执行音频管理器中的数据获取线程,从所述硬件抽象层的音频处理模块中获取所述目标音频数据;
37.通过预设通道将所述目标音频数据传输至录屏应用程序;
38.所述录屏应用程序基于所述画面数据和所述目标音频数据,生成所述录屏文件。
39.根据本公开实施例的第二方面,提供一种屏幕录制装置,应用于电子设备,所述装
置包括:
40.获取模块,配置为在检测到针对所述电子设备的显示界面的屏幕录制指令的情况下,获取所述显示界面的画面数据;
41.第一处理模块,配置为通过所述电子设备的内部接口,从当前进行音频播放的目标应用程序中得到所述目标应用程序的第一音频数据;
42.采集模块,配置为通过所述电子设备的音频采集模组,采集所述电子设备当前所处空间中的第二音频数据;
43.合成模块,配置为对所述第一音频数据和所述第二音频数据进行合成处理,得到目标音频数据;
44.第二处理模块,配置为基于所述画面数据和所述目标音频数据,生成录屏文件。
45.在一些实施例中,所述第一处理模块,配置为执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至硬件抽象层;
46.所述合成模块,配置为:
47.将所述音频采集模组采集的第二音频数据传输至所述硬件抽象层;
48.通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据。
49.在一些实施例中,所述合成模块,配置为:
50.通过所述音频处理模块,对所述第一音频数据进行格式转换,得到目标格式的第一音频数据;
51.对所述第二音频数据进行格式转换,得到所述目标格式的第二音频数据;
52.确定所述目标格式的第一音频数据中各个第一音频单元的第一时间戳,以及所述目标格式的第二音频数据中各个第二音频单元的第二时间戳;
53.按照所述第一时间戳和所述第二时间戳,对所述第一音频单元和所述第二音频单元进行组合,得到所述目标音频数据。
54.在一些实施例中,所述第一处理模块,配置为:
55.执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至所述电子设备的音频管理器;
56.通过所述音频管理器对所述第一音频数据进行降噪处理,并将进行所述降噪处理之后的第一音频数据传输至所述硬件抽象层;
57.所述合成模块,配置为:通过所述音频处理模块,对所述第二音频数据和进行降噪处理之后的第一音频数据进行合成处理,得到所述目标音频数据。
58.在一些实施例中,所述装置还包括复制模块,配置为:
59.通过所述硬件抽象层的数据接收模块在接收到所述第一音频数据之后,对所述第一音频数据进行复制,得到第一音频副本;
60.通过所述数据接收模块对接收到的第二音频数据进行复制,得到第二音频副本;
61.通过所述数据接收模块将所述第一音频副本和所述第二音频副本,传输至所述音频处理模块;
62.所述合成模块,配置为通过所述音频处理模块,对所述第一音频副本和所述第二音频副本进行合成处理,得到所述目标音频数据。
63.在一些实施例中,所述装置还包括第三处理模块,配置为:
64.通过所述数据接收模块将所述第一音频数据传输至所述电子设备的音频输出模组,通过所述音频输出模组输出;
65.通过所述数据接收模块将所述第二音频数据传输至所述目标应用程序。
66.在一些实施例中,所述第二处理模块,配置为:
67.执行音频管理器中的数据获取线程,从所述硬件抽象层的音频处理模块中获取所述目标音频数据;
68.通过预设通道将所述目标音频数据传输至录屏应用程序。
69.根据本公开实施例的第三方面,提供一种电子设备,包括:
70.处理器;
71.用于存储处理器可执行指令的存储器;
72.其中,所述处理器被配置为:执行时实现上述第一方面中任一项屏幕录制方法中的步骤。
73.根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述第一方面中任一项屏幕录制方法中的步骤。
74.本公开的实施例提供的技术方案可以包括以下有益效果:
75.在本公开实施例中,在检测到针对电子设备的显示界面的屏幕录制指令的情况下,可以在获取显示界面的画面数据的同时,通过电子设备的内部接口从当前进行音频播放的目标应用程序中得到第一音频数据,通过电子设备的音频采集模组采集电子设备当前所处空间中的第二音频数据。也就是说,第一方面,本公开在对电子设备的显示界面进行录制的过程中,可以同时录制电子设备的内部音频(即,目标应用程序中的第一音频数据)和外界声音(即,电子设备当前所处空间中的第二音频数据),因此,可以提高电子设备的录屏性能,从而满足各种场景下的录屏需求。第二方面,本公开通过电子设备的内部接口从目标程序中获取第一音频数据的音质更好,噪声更小;因此可以使得由第一音频数据和第二音频数据合成得到的目标音频数据的音质更好,噪声更小;进而可以增强电子设备的录屏效果。
76.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
77.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
78.图1是根据本公开一示例性实施例示出的一种屏幕录制方法的流程图一;
79.图2是根据本公开一示例性实施例示出的一种屏幕录制方法的流程图二;
80.图3是本公开一示例性实施例示出的屏幕录制方法的原理示意图一;
81.图4是本公开一示例性实施例示出的屏幕录制方法的原理示意图二;
82.图5是根据本公开一示例性实施例示出的一种屏幕录制装置的结构框图;
83.图6是根据本公开一示例性实施例示出的一种电子设备的硬件结构框图。
具体实施方式
84.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
85.图1是根据本公开一示例性实施例示出的屏幕录制方法的流程图一,如图1所示,主要包括以下步骤:
86.步骤110,在检测到针对所述电子设备的显示界面的屏幕录制指令的情况下,获取所述显示界面的画面数据;
87.步骤120,通过所述电子设备的内部接口,从当前进行音频播放的目标应用程序中得到所述目标应用程序的第一音频数据;
88.步骤130,通过所述电子设备的音频采集模组,采集所述电子设备当前所处空间中的第二音频数据;
89.步骤140,对所述第一音频数据和所述第二音频数据进行合成处理,得到目标音频数据;
90.步骤150,基于所述画面数据和所述目标音频数据,生成录屏文件。
91.需要说明的是,本公开提出的屏幕录制方法可以应用于电子设备,这里,电子设备可以包括:终端设备,例如,移动终端或者固定终端。其中,移动终端可以包括:手机、平板电脑、笔记本电脑等设备。固定终端可以包括:台式电脑或智能电视等。
92.在一些实施例中,屏幕录制指令可以包括由用户的输入操作所触发的用于指示对电子设备的显示界面进行录制的指令。这里的输入操作可以包括:语音输入操作、手势操作等。例如,可以通过手势键入文字、符号等。其中,输入操作还可以包括:按键操作、点击操作等。电子设备在接收到用户输入的输入操作之后,会触发屏幕录制指令,并根据屏幕录制指令对电子设备的显示界面进行录制。
93.在检测到针对电子设备的显示界面的屏幕录制指令的情况下,可以对电子设备的显示界面进行录制。在对电子设备的显示界面进行录制的过程中,可以获取显示界面的画面数据。这里,显示界面可以为电子设备当前正在显示的界面,例如,显示界面可以为电子设备的桌面所在的界面,也可以为电子设备中正在运行的应用程序内部的界面。
94.在一些实施例中,在对电子设备的显示界面进行录制的过程中,还可以对电子设备正在播放的音频进行录制,或者,对电子设备的音频采集模组采集的外界声音进行录制。
95.在一些实施例中,在对电子设备的显示界面进行录制的过程中,可以同时对电子设备正在播放的音频和电子设备的音频采集模组采集的外界声音进行录制。例如,可以通过电子设备的内部接口从当前进行音频播放的目标应用程序中得到目标应用程序的第一音频数据,通过电子设备的音频采集模组,采集电子设备当前所处空间中的第二音频数据。
96.这里,目标应用程序可以是电子设备中正在进行音频播放的应用程序,内部接口可以是目标应用程序将音频输出至电子设备的其他功能模组的接口。从当前进行音频播放的目标应用程序中得到目标应用程序的第一音频数据,可以是在检测到当前进行音频播放的目标应用程序正在播放音频的情况下,从当前进行音频播放的目标应用程序中得到目标应用程序正在播放的音频的第一音频数据。
97.可以理解的是,在未检测到正在运行的应用程序,或者正在运行的应用程序当前并未播放音频的情况下,可以不获取第一音频数据,在获取显示界面的画面数据的同时,通过电子设备的音频采集模组,采集电子设备当前所处空间中的第二音频数据。
98.电子设备往往通过安装于电子设备内的应用程序播放音乐、视频,或者进行语音交流,因此可以从当前进行音频播放的目标应用程序中得到目标应用程序的第一音频数据。这里的第一音频数据可以是当前进行音频播放的目标应用程序正在播放的音频的数据,例如,可以是音乐播放器正在播放的音乐的数据,或者可以是视频播放器正在播放的视频的背景音乐的数据,还可以是通信类应用程序中正在播放的语音的数据,也可以通信类应用程序在进行语音通话时接收到的语音的数据。
99.需说明的是,这里的第一音频数据为通过电子设备的内部接口从当前进行音频播放的目标应用程序中得到的;而非通过电子设备的音频播放模组(例如,扬声器)将音频输出,并通过电子设备的音频采集模组(例如,麦克风)采集得到的。
100.可以理解的是,当通过电子设备的扬声器将音频输出后,再通过麦克风采集到的音频可能混合了外界噪声;并且,在将音频输出和采集音频的过程中需要对音频进行多次编解码,多次编解码会影响音频的音质。因此,相较于,通过电子设备的扬声器将音频输出后,通过麦克风采集音频数据;通过电子设备的内部接口从当前进行音频播放的目标应用程序中得到的第一音频数据的音质更好,噪声更小。
101.在本公开实施例中,电子设备的音频采集模组可以为能够对电子设备当前所处空间中的声音进行采集的模组,例如,音频采集模组可以包括麦克风,麦克风可以采集用户通过麦克风输入电子设备的声音的数据,或者,可以采集电子设备当前所处空间中的环境声音的数据。
102.在本公开实施例中,在检测到针对电子设备的显示界面的屏幕录制指令的情况下,若当前进行音频播放的目标应用程序正在播放音频,则在获取显示界面的画面数据的同时,通过电子设备的内部接口从当前进行音频播放的目标应用程序中得到目标应用程序的第一音频数据,并且通过电子设备的音频采集模组采集电子设备当前所处空间中的第二音频数据;若不存在正在运行的应用程序或当前正在运行的应用程序未播放音频,则在获取显示界面的画面数据的同时,通过电子设备的音频采集模组采集电子设备当前所处空间中的第二音频数据。
103.在得到第一音频数据和第二音频数据之后,可以对第一音频数据和第二音频数据进行合成处理,得到目标音频数据。这里,可以按照第一音频数据和第二音频数据的时间戳,对第一音频数据和第二音频数据进行合成。
104.在得到目标音频数据之后,可以基于画面数据和目标音频数据,生成录屏文件。
105.这里,可以对画面数据和目标音频数据进行音视频同步处理,得到录屏文件,录屏文件的文件格式可以为动态图像专家组格式(moving picture experts group,mp4)、音频视频交错格式(audio video interleaved,avi)、流媒体格式(flash video,flv)等格式。
106.在本公开实施例中,在检测到针对电子设备的显示界面的屏幕录制指令的情况下,可以在获取显示界面的画面数据的同时,通过电子设备的内部接口从当前进行音频播放的目标应用程序中得到第一音频数据,通过电子设备的音频采集模组采集电子设备当前所处空间中的第二音频数据。也就是说,第一方面,本公开在对电子设备的显示界面进行录
制的过程中,可以同时录制电子设备的内部音频(即,目标应用程序中的第一音频数据)和外界声音(即,电子设备当前所处空间中的第二音频数据),因此,可以提高电子设备的录屏性能,从而满足各种场景下的录屏需求。第二方面,本公开通过电子设备的内部接口从目标程序中获取第一音频数据的音质更好,噪声更小;因此可以使得由第一音频数据和第二音频数据合成得到的目标音频数据的音质更好,噪声更小;进而可以增强电子设备的录屏效果
107.在一些实施例中,在步骤120中,所述通过所述电子设备的内部接口,从当前进行音频播放的目标应用程序中得到所述目标应用程序的第一音频数据,包括:
108.执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至硬件抽象层;
109.在步骤140中,所述对所述第一音频数据和所述第二音频数据进行合成处理,得到目标音频数据,包括:
110.将所述音频采集模组采集的第二音频数据传输至所述硬件抽象层;
111.通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据。
112.在一些实施例中,本公开提供的屏幕录制方法可以应用于android系统,在屏幕录制方法应用于android系统的情况下,可以执行目标应用程序的音频输出线程,第一音频数据通过电子设备的内部接口和audio track(音频轨道)传输至硬件抽象层。
113.这里,audio track可以用于进行音频数据的传输。可以理解的是,android系统的架构包括应用层、应用框架层、系统运行库层、硬件抽象层和linux内核层,硬件抽象层位于系统运行库层和linux内核层之间,其目的在于将硬件抽象化,硬件抽象层隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。
114.可以理解的是,硬件抽象层可以位于电子设备中的应用程序与硬件功能模块之间,例如,硬件抽象层可以位于目标应用程序与音频输出模组之间,因此第一音频数据传输至硬件抽象层之后,可以通过硬件抽象层传输至电子设备的音频输出模组进行音频输出。
115.还例如,硬件抽象层可以位于目标应用程序与音频采集模组之间,因此音频采集模组可以传输至硬件抽象层,并通过硬件抽象层传输至目标应用程序。
116.在本公开实施例中,在第一音频数据和第二音频数据传输至硬件抽象层之后,可以通过硬件抽象层的音频处理模块,对第一音频数据和第二音频数据进行合成处理,得到目标音频数据。
117.需说明的是,在本公开实施例中,可以在将第一音频数据通过电子设备的内部接口传输至硬件抽象层的情况下,在硬件抽象层对第一音频数据和第二音频数据进行合成处理,也就是说,这里的第一音频数据为未经过音频输出模组(例如,扬声器)输出至电子设备外部的音频数据。
118.这里,硬件抽象层的音频处理模块可以用于对接收到的音频数据进行音频处理,例如,音频合成处理、音频参数提取处理等等。
119.如上文实施例中所述的,相较于,通过电子设备的扬声器将音频输出后,通过麦克风采集音频数据;通过电子设备的内部接口从当前进行音频播放的目标应用程序中得到的
第一音频数据的音质更好,噪声更小。也就是说,目标应用程序通过内部接口传输至硬件抽象层的第一音频数据的音质更好,噪声更小。因此,硬件抽象层中的音频管理器对第一音频数据和第二音频数据进行合成,得到的目标音频数据的音质更好,噪声更小。
120.在一些实施例中,所述通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据,包括:
121.通过所述音频处理模块,对所述第一音频数据进行格式转换,得到目标格式的第一音频数据;
122.对所述第二音频数据进行格式转换,得到所述目标格式的第二音频数据;
123.确定所述目标格式的第一音频数据中各个第一音频单元的第一时间戳,以及所述目标格式的第二音频数据中各个第二音频单元的第二时间戳;
124.按照所述第一时间戳和所述第二时间戳,对所述第一音频单元和所述第二音频单元进行组合,得到所述目标音频数据。
125.可以理解的是,由于电子设备内部的各个功能模组或功能模组中的各个组件对数据格式的要求不同,音频数据在电子设备内部传输的过程中,音频数据的数据格式可以改变,音频数据在不同功能模组或同一功能模组的不同组件中的数据格式可能不同。例如,目标应用程序通过内部接口传输至硬件抽象层的第一音频数据的数据格式,可能与音频采集模组传输至硬件抽象层的第二音频数据的数据格式不同。
126.因此,为了便于对第一音频数据和第二音频数据进行合成处理,可以先对第一音频数据和第二音频数据进行格式统一,将第一音频数据和第二音频数据均转换为目标格式,然后对目标格式的第一音频数据和目标格式的第二音频数据进行合成处理。
127.这里,目标格式可以包括文本格式或二进制数值格式等。例如,通过电子设备的内部接口传输至硬件抽象层的第一音频数据为文本格式,通过音频采集模组传输至硬件抽象层的第二音频数据为二进制数值格式;则硬件抽象层的音频处理模块可以将接收到的第一音频数据和第二音频数据均转换为二进制数值格式。
128.可以理解的是,音频数据可以包括至少一个音频单元以及各个音频单元的时间戳,在对标准格式的第一音频数据和标准格式的第二音频数据进行合成处理的过程中,可以按照第一音频数据中的各个第一音频单元的第一时间戳和第二音频数据中的各个第二音频单元的第二时间戳,对各个第一音频单元和第二音频单元进行组合,得到目标音频数据。
129.这里,可以按照各个时间戳的时间顺序,对各个音频单元进行排列并组合,时间戳较早的音频单元可以排列在较靠前的位置,时间戳较晚的音频单元可以排列在较靠后的位置。
130.这样,通过将第一音频数据和第二音频数据转换为目标格式,可以使得对第一音频数据和第二音频数据进行合成处理的效率更高,且误差较小。按照第一时间戳和第二时间戳对第一音频单元和第二音频单元进行组合,可以使得组合得到的目标音频数据的音频顺序与第一音频数据和第二音频数据中的音频顺序对应,且能够将第一音频数据和第二音频数据融合在一起。
131.在一些实施例中,所述执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至硬件抽象层,包括:
132.执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至所述电子设备的音频管理器;
133.所述音频管理器对所述第一音频数据进行降噪处理,并将进行所述降噪处理之后的第一音频数据传输至所述硬件抽象层;
134.所述通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据,包括:
135.通过所述音频处理模块,对所述第二音频数据和进行降噪处理之后的第一音频数据进行合成处理,得到所述目标音频数据。
136.音频管理器可以位于目标应用程序与硬件抽象层之间,目标应用程序的第一音频数据可以先传输至音频管理器,通过音频管理器对第一音频数据进行降噪、混音等处理之后,将进行降噪、混音等处理的第一音频数据传输至硬件抽象层,然后通过硬件抽象层的音频处理模块对第一音频数据和来自音频采集模组的第二音频数据进行合成处理。
137.可以理解的是,对音频数据进行降噪处理,可以使得音频数据的音质更好;对音频数据进行混音处理,可以使得音频数据的音乐效果更好。
138.在本公开实施例提供的屏幕录制方法应用于android系统的情况下,音频管理器可以为audio flinger。
139.这样,通过音频管理器对第一音频数据进行降噪处理之后,可以提升第一音频数据的音质,进而使得通过音频处理模块对第二音频数据和进行降噪处理之后的第一音频数据进行合成处理得到的目标音频数据的音质更好。
140.在一些实施例中,所述方法还包括:
141.所述硬件抽象层的数据接收模块在接收到所述第一音频数据之后,对所述第一音频数据进行复制,得到第一音频副本;
142.所述数据接收模块对接收到的第二音频数据进行复制,得到第二音频副本;
143.所述数据接收模块将所述第一音频副本和所述第二音频副本,传输至所述音频处理模块;
144.所述通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据,包括:
145.通过所述音频处理模块,对所述第一音频副本和所述第二音频副本进行合成处理,得到所述目标音频数据。
146.硬件抽象层可以包括数据接收模块和音频处理模块,数据接收模块可以用于接收来自目标应用程序的第一音频数据和来自音频采集模组的第二音频数据,数据接收模块在接收到第一音频数据和第二音频数据之后,可以将接收到的第一音频数据和第二音频数据传输至音频处理模块,音频处理模块可以对接收到的第一音频数据和第二音频数据进行合成处理,得到目标音频数据。
147.在一些实施例中,数据接收模块在接收到第一音频数据和第二音频数据之后,可以分别对第一音频数据和第二音频数据进行复制,得到第一音频数据的第一音频副本和第二音频数据的第二音频副本,音频处理模块可以对第一音频副本和第二音频副本进行合成处理,得到目标音频数据。
148.这里,第一音频副本可以与第一音频数据相同,第二音频副本可以与第二音频数
据相同。
149.可以理解的是,第一音频数据和第二音频数据在传输至硬件抽象层之后,可能会通过硬件抽象层传输至其他功能模组,以进行相应处理;例如,可以将第一音频数据传输至音频输出模组进行音频输出,还例如,可以将第二音频数据传输至通信模组以实现与其他电子设备的通信等。
150.因此,通过数据接收模块对第一音频数据和第二音频数据进行复制得到第一音频副本和第二音频副本,然后通过音频处理模块对第一音频副本和第二音频副本进行合成处理,可以在不影响硬件抽象层将第一音频数据和第二音频数据传输至其他功能模组的情况下,得到目标音频数据。也就是说,可以在实现电子设备的屏幕录制功能的同时,不影响电子设备的其他功能。
151.在一些实施例中,所述方法还包括:
152.所述数据接收模块将所述第一音频数据传输至所述电子设备的音频输出模组,通过所述音频输出模组输出;
153.所述数据接收模块将所述第二音频数据传输至所述目标应用程序。
154.在此实施例中,数据接收模块将第一音频数据传输至音频输出模组之后,可以通过音频输出模组将第一音频数据输出,例如,通过耳机将第一音频数据输出或通过扬声器将第一音频数据输出,从而实现目标应用程序的音乐播放功能。同时,数据接收模块将第二音频数据传输至目标应用程序之后,可以通过目标应用程序中的预设功能对第二音频数据进行处理,例如,对第二音频数据进行剪辑;还可以将第二音频数据存储至目标应用程序对应的存储空间内。
155.这样,可以在实现电子设备的屏幕录制功能的同时,实现目标应用程序的音乐播放功能,还可以将第二音频数据传输至目标应用程序,以进行后续处理。
156.在一些实施例中,在步骤150中,所述基于所述画面数据和所述目标音频数据,生成录屏文件,包括:
157.执行音频管理器中的数据获取线程,从所述硬件抽象层的音频处理模块中获取所述目标音频数据;
158.通过预设通道将所述目标音频数据传输至录屏应用程序;
159.所述录屏应用程序基于所述画面数据和所述目标音频数据,生成所述录屏文件。
160.如上文实施例所述的,音频管理器可以位于应用程序和硬件抽象层之间,因此,在硬件抽象层的音频处理模块对第一音频数据和第二音频数据进行合成处理,得到目标音频数据之后,可以通过执行音频管理器中的数据获取线程,从硬件抽象层的音频处理模块中获取目标音频数据,并将获取到的目标音频数据通过预设通道传输至录屏应用程序。这里,数据获取线程可以在检测到屏幕录制指令的情况下创建,预设通道可以位于音频管理器与录屏应用程序之后,用于进行数据传输。
161.录屏应用程序可以对获取到的画面数据和目标音频数据进行音视频同步处理,进而生成录屏文件。
162.这样,可以通过音频管理器和预设通道将硬件抽象层中的目标音频数据传输至录屏应用程序,以供录屏应用程序基于目标音频数据和画面数据生成录屏文件,无需额外建立录屏应用程序与硬件抽象层之间的数据传输通道。
163.图2是根据本公开一示例性实施例示出的屏幕录制方法的流程图二,图3是本公开一示例性实施例示出的屏幕录制方法的原理示意图一。如图2至图3所示,本公开实施例提供的屏幕录制方法包括以下步骤:
164.步骤201,在检测到针对电子设备的显示界面的屏幕录制指令的情况下,获取显示界面的画面数据。
165.需要说明的是,本公开提出的屏幕录制方法可以应用于电子设备,这里,电子设备可以包括:终端设备,例如,移动终端或者固定终端。其中,移动终端可以包括:手机、平板电脑、笔记本电脑等设备。固定终端可以包括:台式电脑或智能电视等。
166.用户可以通过选中电子设备中的“内录 外录”的功能选项,来触发电子设备的屏幕录制指令。
167.这里,显示界面可以为电子设备当前正在显示的界面,例如,显示界面可以为电子设备的桌面所在的界面,也可以为电子设备中正在运行的应用程序内部的界面。
168.步骤202,执行目标应用程序的音频输出线程,将第一音频数据通过内部接口传输至电子设备的音频管理器。
169.这里,目标应用程序可以是电子设备中正在进行音频播放的应用程序,内部接口可以是目标应用程序将音频输出至电子设备的其他功能模组的接口。
170.如图3所示,本公开提供的屏幕录制方法可以应用于android系统,在屏幕录制方法应用于android系统的情况下,可以执行目标应用程序的音频输出线程,第一音频数据通过电子设备的内部接口和音频轨道(audio track)311传输至音频管理器330。
171.步骤203,音频管理器对第一音频数据进行降噪处理,并将进行降噪处理之后的第一音频数据传输至硬件抽象层的数据接收模块。
172.如图3所示,在一些实施例中,音频接收模块可以包括音频写入接口(voip_write)341和音频读取接口(voip_read)342,这里音频管理器330对第一音频数据进行降噪处理之后,可以将第一音频数据传输至硬件抽象层340的音频写入接口(voip_write)341。
173.步骤204,将音频采集模组采集的第二音频数据传输至硬件抽象层的数据接收模块。
174.在一些实施例中,音频采集模组380可以将采集的第二音频数据传输至编解码器360进行编码,然后将经过编码的第二音频数据传输至音频数字信号处理器350进行数据处理,这里通过编解码器360和音频数字信号处理器350可以将模拟信号类型的第二音频数据转换为数字信号类型的第二音频数据,进而将数字信号类型的第二音频数据传输至硬件抽象层340的音频读取接口(voip_read)342。
175.步骤205,数据接收模块对接收到的第一音频数据进行复制得到第一音频副本,对接收到的第二音频数据进行复制得到第二音频副本,将第一音频数据传输至电子设备的音频输出模组,将第二音频数据传输至目标应用程序。
176.在一些实施例中,音频写入接口(voip_write)341可以对接收到的第一音频数据进行复制得到第一音频副本,并将第一音频数据传输至音频数字信号处理器350,然后经音频数字信号处理器350传输至编解码器360,经编解码器360传输至电子设备的音频输出模组370;音频读取接口(voip_read)342可以对接收到的第二音频数据进行复制得到第二音频副本,并将第二音频数据传输至音频管理器330,经音频管理器330传输至目标应用程序
310的音频录制实例1(audio record1)312。
177.步骤206,通过硬件抽象层的音频处理模块,对第一音频副本和第二音频副本进行合成处理,得到目标音频数据。
178.在一些实施例中,音频处理模块可以为用于进行音频合成的缓存空间,如图3中的缓存空间(buffer)343,音频写入接口(voip_write)341和音频读取接口(voip_read)342可以将第一音频副本和第二音频副本中的音频单元按照时间顺序存储至缓存空间(buffer)343中,这样则可以得到目标音频数据,也就是说缓存空间(buffer)343中存储的数据为目标音频数据。
179.步骤207,执行音频管理器中的数据获取线程,从音频处理模块中获取目标音频数据,并通过预设通道将目标音频数据传输至录屏应用程序。
180.在一些实施例中,数据获取线程可以为图3所示的数据获取线程(record thread)331,可以在检测到屏幕录制指令的情况下,创建数据获取线程(record thread)331,预设通道可以为单声道通道(monopipe)332。在此实施例中,数据获取线程(record thread)331可以从缓存空间(buffer)343中获取目标音频数据,并通过单声道通道(monopipe)332传输至录屏应用程序320的音频录制实例2(audio record2)321。
181.步骤208,录屏应用程序基于画面数据和目标音频数据,生成录屏文件。
182.图4是本公开一示例性实施例示出的屏幕录制方法的原理示意图二。在图4中,用户410可以是用户用于触发电子设备的功能的行为或指令,例如,用户通过目标应用程序播放第一音频数据;还例如,用户通过录屏应用程序录制电子设备所处空间的第二音频数据。在用户通过目标应用程序播放第一音频数据且通过录屏应用程序录制第二音频数据的情况下,可以将由目标应用程序传输至硬件抽象层420的第一音频数据,以及由音频采集模组(如,麦克风)450和音频数字信号处理器430传输至硬件抽象层420的第二音频数据进行复制,得到第一音频副本和第二音频副本,然后对第一音频副本和第二音频副本进行合成处理,得到目标音频数据(即内录 外录对应的音频数据),同时将第一音频数据通过音频数字信号处理器430和音频输出模组(如扬声器)440输出,将第二音频数据传输至录屏应用程序。
183.本公开实施例可以同时实现对电子设备的内部音频(即第一音频数据)的内录和对电子设备外部声音(即第二音频数据)的外录。可以在用户进行行为a(即播放第一音频数据)和行为b(即录制第二音频数据)的情况下,通过硬件抽象层将硬件抽象层的第一音频数据和第二音频数据进行合成处理,得到目标音频数据,进而将目标音频数据输出至音频管理器460,通过音频管理器460将目标音频数据传输至录屏应用程序,实现内录加外录的录屏功能。
184.图5是根据本公开一示例性实施例示出的一种屏幕录制装置的结构框图。本公开提供一种屏幕录制装置,应用于电子设备。如图5所示,该屏幕录制装置500主要包括:
185.获取模块501,配置为在检测到针对所述电子设备的显示界面的屏幕录制指令的情况下,获取所述显示界面的画面数据;
186.第一处理模块502,配置为通过所述电子设备的内部接口,从当前进行音频播放的目标应用程序中得到所述目标应用程序的第一音频数据;
187.采集模块503,配置为通过所述电子设备的音频采集模组,采集所述电子设备当前
所处空间中的第二音频数据;
188.合成模块504,配置为对所述第一音频数据和所述第二音频数据进行合成处理,得到目标音频数据;
189.第二处理模块505,配置为基于所述画面数据和所述目标音频数据,生成录屏文件。
190.在一些实施例中,所述第一处理模块502,配置为执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至硬件抽象层;
191.所述合成模块504,配置为:
192.将所述音频采集模组采集的第二音频数据传输至所述硬件抽象层;
193.通过所述硬件抽象层的音频处理模块,对所述第一音频数据和所述第二音频数据进行合成处理,得到所述目标音频数据。
194.在一些实施例中,所述合成模块504,配置为:
195.通过所述音频处理模块,对所述第一音频数据进行格式转换,得到目标格式的第一音频数据;
196.对所述第二音频数据进行格式转换,得到所述目标格式的第二音频数据;
197.确定所述目标格式的第一音频数据中各个第一音频单元的第一时间戳,以及所述目标格式的第二音频数据中各个第二音频单元的第二时间戳;
198.按照所述第一时间戳和所述第二时间戳,对所述第一音频单元和所述第二音频单元进行组合,得到所述目标音频数据。
199.在一些实施例中,所述第一处理模块502,配置为:
200.执行所述目标应用程序的音频输出线程,将所述第一音频数据通过所述内部接口传输至所述电子设备的音频管理器;
201.通过所述音频管理器对所述第一音频数据进行降噪处理,并将进行所述降噪处理之后的第一音频数据传输至所述硬件抽象层;
202.所述合成模块504,配置为:通过所述音频处理模块,对所述第二音频数据和进行降噪处理之后的第一音频数据进行合成处理,得到所述目标音频数据。
203.在一些实施例中,所述装置还包括复制模块,配置为:
204.通过所述硬件抽象层的数据接收模块在接收到所述第一音频数据之后,对所述第一音频数据进行复制,得到第一音频副本;
205.通过所述数据接收模块对接收到的第二音频数据进行复制,得到第二音频副本;
206.通过所述数据接收模块将所述第一音频副本和所述第二音频副本,传输至所述音频处理模块;
207.所述合成模块504,配置为通过所述音频处理模块,对所述第一音频副本和所述第二音频副本进行合成处理,得到所述目标音频数据。
208.在一些实施例中,所述装置还包括第三处理模块,配置为:
209.通过所述数据接收模块将所述第一音频数据传输至所述电子设备的音频输出模组,通过所述音频输出模组输出;
210.通过所述数据接收模块将所述第二音频数据传输至所述目标应用程序。
211.在一些实施例中,所述第二处理模块505,配置为:
212.执行音频管理器中的数据获取线程,从所述硬件抽象层的音频处理模块中获取所述目标音频数据;
213.通过预设通道将所述目标音频数据传输至录屏应用程序。
214.图6是根据本公开一示例性实施例示出的一种电子设备的硬件结构框图一。例如,电子设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
215.参照图6,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(i/o)的接口712,传感器组件714,以及通信组件716。
216.处理组件702通常控制电子设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其它组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
217.存储器704被配置为存储各种类型的数据以支持在电子设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
218.电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其它与为电子设备700生成、管理和分配电力相关联的组件。
219.多媒体组件708包括在所述电子设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当电子设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
220.音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(mic),当电子设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
221.i/o接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
222.传感器组件714包括一个或多个传感器,用于为电子设备700提供各个方面的状态评估。例如,传感器组件714可以检测到电子设备700的打开/关闭状态,组件的相对定位,例
如所述组件为电子设备700的显示器和小键盘,传感器组件714还可以检测电子设备700或电子设备700一个组件的位置改变,用户与电子设备700接触的存在或不存在,电子设备700方位或加速/减速和电子设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
223.通信组件716被配置为便于电子设备700和其它设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如wi-fi,4g或5g,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其它技术来实现。
224.在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其它电子元件实现,用于执行上述方法。
225.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
226.一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种屏幕录制方法,包括:
227.在检测到针对所述电子设备的显示界面的屏幕录制指令的情况下,获取所述显示界面的画面数据;
228.通过所述电子设备的内部接口,从当前进行音频播放的目标应用程序中得到所述目标应用程序的第一音频数据;
229.通过所述电子设备的音频采集模组,采集所述电子设备当前所处空间中的第二音频数据;
230.对所述第一音频数据和所述第二音频数据进行合成处理,得到目标音频数据;
231.基于所述画面数据和所述目标音频数据,生成录屏文件。
232.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
233.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献