一种多路屏幕数据录制叠加方法及装置、存储介质与流程

专利2022-05-09  112


本申请实施例涉及录制屏幕叠加技术,尤其涉及一种多路屏幕数据录制叠加方法及装置、存储介质,。



背景技术:

目前电子设备,虽然支持录屏功能,但并不支持录屏的同时对多路录屏画面视频的实时叠加,即,只能针对多路视频源分别进行录屏,并分别处理,并不支持将录屏画面数据进行叠加的处理。而实际应用时,往往存在针对不同的多路视频源进行合并的需求,而目前并无相关技术能够支持这一需求。在对多路录屏画面数据进行叠加时,还需考虑多路录屏画面数据的同步问题。



技术实现要素:

有鉴于此,本申请实施例提供一种多路屏幕数据录制叠加方法及装置、存储介质,能够对多路视频源进行分别录屏,并对录屏后的多路录屏画面数据进行叠加,以满足用户针对不同视频源的录屏合并。

根据本申请的第一方面,提供一种多路屏幕数据录制叠加方法,包括:

对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象;

为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据;

获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。

作为一种实现方式,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定每一抓屏线程中是否存在画面数据,若每一抓屏线程中均存在画面数据时,确定每一路画面数据的时间戳是否匹配,并将时间戳匹配的每一路画面数据进行叠加。

作为一种实现方式,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定抓屏线程中至少一路抓屏线程不存在画面数据时,获取该路抓屏线程中最近的画面数据叠加周期内的历史画面数据,将其他路抓屏线程读取的当前画面数据与所述历史画面数据进行叠加。

作为一种实现方式,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定抓屏线程中至少一路抓屏线程自抓屏线程建立后尚未获取画面数据,则将其余抓屏线程所获取的当前画面数据和/或最近的画面数据叠加周期内的历史画面数据进行叠加。

作为一种实现方式,所述方法还包括:

为每一抓屏线程设置画面数据缓存队列,所述缓存队列用于缓存从抓屏对象读取的预设数量帧的画面数据,当缓存队列存满且有新读取画面数据时,用新读取画面数据覆盖最早存储的画面数据。

根据本申请的第二方面,提供一种多路屏幕数据录制叠加装置,包括:

生成单元,用于对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象;

创建单元,用于为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据;

叠加单元,用于获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。

作为一种实现方式,所述叠加单元,还用于:

确定每一抓屏线程中是否存在画面数据,若每一抓屏线程中均存在画面数据时,确定每一路画面数据的时间戳是否匹配,并将时间戳匹配的每一路画面数据进行叠加。

作为一种实现方式,所述叠加单元,还用于:

确定抓屏线程中至少一路抓屏线程不存在画面数据时,获取该路抓屏线程中最近的画面数据叠加周期内的历史画面数据,将其他路抓屏线程读取的当前画面数据与所述历史画面数据进行叠加。

作为一种实现方式,所述叠加单元,还用于:

确定抓屏线程中至少一路抓屏线程自抓屏线程建立后尚未获取画面数据,则将其余抓屏线程所获取的当前画面数据和/或最近的画面数据叠加周期内的历史画面数据进行叠加。

作为一种实现方式,所述装置还包括:

设置单元,用于为每一抓屏线程设置画面数据缓存队列,所述缓存队列用于缓存从抓屏对象读取的预设数量帧的画面数据,当缓存队列存满且有新读取画面数据时,用新读取画面数据覆盖最早存储的画面数据。

根据本申请的第三方面,提供一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现所述的多路屏幕数据录制叠加方法的步骤。

本申请实施例提供的多路屏幕数据录制叠加方法及装置、存储介质,通过对多路待录屏对象分别设置录屏线程,在进行录屏数据合并时,根据录屏线程中缓存的画面数据的情况而选择相应的叠加方式,能保证画面数据的时间对齐,并且,当因为卡顿等原因导致某一路录屏线程未接收到画面数据时,将利用该线程的最近历史画面数据进行叠加;当所有录屏线程均未接收到画面数据时,则不进行画面数据的叠加。本申请实施例为用户提供了基于不同视频源进行屏幕录制并进行叠加的方式,用户可以根据自身的需要对多个视频源进行屏幕录制并叠加画面数据,提升了用户体验。

附图说明

图1为本申请实施例提供的多路屏幕数据录制叠加方法流程示意图;

图2为本申请实施例提供的多路屏幕数据录制叠加方法的示例示意图;

图3为本申请实施例提供的多路屏幕数据录制叠加装置的组成结构示意图。

具体实施方式

以下结合示例,详细阐明本申请实施例的技术方案的实质。

图1为本申请实施例提供的多路屏幕数据录制叠加方法流程示意图,如图1所示,本申请实施例的多路屏幕数据录制叠加方法包括以下处理步骤:

步骤101,对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象。

本申请实施例中,用户可以根据自身的需要,选择两路以上的视频数据源进行屏幕录制。作为一种示例,两路以上的视频数据源可以是桌面数据源、摄像头数据源、游戏、其他应用等。当确定完待录屏对象后,基于待录屏对象分别设置抓屏对象,以对待录屏对象进行录屏。

以同时捕获桌面画面以及摄像头画面数据为例,在windows平台下,初始化图形设备接口(gdi,graphicsdeviceinterface)相关函数,gdi相关函数用于抓取实时屏幕数据;初始化directshow相关函数,该directshow相关函数用于抓取摄像头画面数据。其中,directshow使用filtergraph的模型来管理整个数据流的处理过程,通过directshow可以从支持wdm(windowsdrivermodel)驱动模型的采集卡上捕获数据,并进行相应的后期处理而存储到文件中。

步骤102,为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据。

本申请实施例中,还要为抓屏对象设置抓屏线程,以对抓屏对象抓取的画面数据进行缓存,以便进行画面数据叠加。具体地,为每一抓屏线程设置画面数据缓存队列,所述缓存队列用于缓存从抓屏对象读取的预设数量帧的画面数据,当缓存队列存满且有新读取画面数据时,用新读取画面数据覆盖最早存储的画面数据。

本申请实施例中,在创建至少两路视频数据源的抓屏对象后,对应每一路待录屏视频的抓屏对象,都创建一个视频画面抓取线程“capturethread”,每一抓取线程“capturethread”创建后,会不断读取待录屏视频的抓屏对象的实时画面数据并拷贝至内存中,以便后续对视频画面进行处理。

本申请实施例中,还为每一路“capturethread”设置一个缓存队列,该缓存队列用来存放“capturethread”读取到的画面数据,以备后续线程使用,如设置缓存队列缓存5帧画面数据,当有新画面数据插入并且数据量超过5帧画面数据时,自动丢弃尾部的最后一帧画面数据,插入所读取的最新的一帧画面数据,确保内存不会占用过大,同时尽量保证视频画面的完整度。上述的缓存队列根据需要,也可以设置为存储8帧、10帧、15帧等的画面数据,如果设置的存储空间较大,会占用处理器较多的内存,可根据实际情况而设置。

步骤103,获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。

本申请实施例中,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定每一抓屏线程中是否存在画面数据,若每一抓屏线程中均存在画面数据时,确定每一路画面数据的时间戳是否匹配,并将时间戳匹配的每一路画面数据进行叠加。

或者,确定抓屏线程中至少一路抓屏线程不存在画面数据时,获取该路抓屏线程中最近的画面数据叠加周期内的历史画面数据,将其他路抓屏线程读取的当前画面数据与所述历史画面数据进行叠加。

或者,确定抓屏线程中至少一路抓屏线程自抓屏线程建立后尚未获取画面数据,则将其余抓屏线程所获取的当前画面数据和/或最近的画面数据叠加周期内的历史画面数据进行叠加。

本申请实施例中,当“capturethread”都创建完成之后,还需要创建一个名为“mixthread”的线程,该“mixthread”线程负责从之前创建的所有“capturethread”中的画面数据缓存队列中读取画面数据,此时读取画面数据会有多种情况:

情况1:如果多路缓存队列中都有视频画面数据,并且多路画面数据的时间戳匹配,此时分别从多路“capturethread”的缓存队列头获取数据,并在“capturethread”的缓存队列中删除刚才取出的视频画面数据。

情况2:如果在某一时刻从多个“capturethread”中只读到了其中一些路的画面数据,另外一些路的画面数据还没有内容时。即当电子设备的cpu占用过高,可能会导致某一路或几路画面数据没有及时获取,缓存队列为空的情况,此时画面可以进行正常更新,本申请实施例中,对不能读取画面数据的那些路的“capturethread”,可以使用上一次的画面数据内容进行叠加,即先使用已接收的最近的历史画面数据,与其他路的画面数据进行叠加;如果没有上一次的画面数据内容,即首帧画面数据还没有读取成功,则不进行画面数据叠加。

情况3:当多路视频数据源在某一时刻发生异常,比如当前cpu占用过高,可能会导致多路画面数据都没有及时获得,从而导致多路画面数据缓存队列都为空,此时画面数据不做叠加处理,叠加视频内容仍为上一帧内容,后续恢复正常后继续进行画面数据叠加的正常流程。

本申请实施例的多路屏幕数据录制叠加方法包括:

创建并初始化视频源设备:创建并初始化视频数据源,例如桌面数据源以及摄像头数据源。

视频画面数据获取:从上一步打开的视频源设备中开始抓取视频数据,根据抓取帧率来设定抓屏频率。

视频数据队列缓存:将数据拷贝到缓存队列中。

视频数据实时叠加:从各数据队列中读取数据,并进行叠加。

下面结合具体示例,对本申请实施例作进一步详细说明。

图2为本申请实施例提供的多路屏幕数据录制叠加方法的流程示意图,如图2所示,本申请实施例的多路屏幕数据录制叠加方法,具体步骤如下:

首先程序会去初始化视频源设备。

本申请实施例以同时捕获桌面画面以及摄像头画面数据为例进行说明,其他视频画面数据的叠加方式的处理是类似的。本申请实施例中,支持在windows平台下,初始化gdi相关函数,gdi相关函数用于抓取实时屏幕数据;初始化directshow相关函数,该接口用于抓取摄像头画面数据。

视频源设备创建完毕后,每对应一路视频源设备,都会创建一个视频画面抓取线程“capturethread”,每一路“capturethread”在创建后,会不断读取视频源设备的实时画面数据并拷贝至内存中,以便后续对视频画面做处理。

每一路“capturethread”都设置有对应的一个缓存队列,该缓存队列用来存放上一步骤中读到的画面数据,以备后续线程使用,如缓存5帧数据,当有新数据插入并且数据量超过5帧画面数据时,自动丢弃尾部的最后一帧,插入最新的一帧,确保内存不会占用过大,同时尽量保证视频画面完整度。

当“capturethread”都创建完成之后,随即创建一个名为“mixthread”的线程,该线程负责从之前创建的所有“capturethread”中的画面数据缓存队列中读取画面数据,此时读取画面数据会有多种情况:

情况1:

如果多路缓存队列中都有视频画面数据,并且时间戳匹配,此时分别从两路“capturethread”的缓存队列头获取数据,并在“capturethread”的缓存队列中删除已取出的视频画面数据。

情况2:如果在某一时刻从多个“capturethread”中只读到了其中一路的数据,另外一路数据还没有内容时。如当cpu占用过高时,可能会出现此种情况,会导致某一路画面数据没有及时获取,缓存队列为空,此时画面数据的叠加可以进行正常进行,即选用缺失的那一路视频画面数据时,选取上一次的画面数据内容进行叠加;如果没有上一次的画面数据内容,即首帧数据还没有获取成功,则不进行画面叠加。

情况3:

当设备在某一时刻发生异常时,比如当前cpu占用过高,可能导致桌面画面数据以及摄像头画面数据都没有及时获得,从而导致两路画面数据缓存队列都为空,此时画面数据不进行叠加更新,视频画面数据的叠加内容仍未上一帧内容,后续设备恢复正常后继续进行正常的叠加流程。

本申请实施例为用户提供了基于不同视频源进行屏幕录制并进行叠加的方式,用户可以根据自身的需要对多个视频源进行屏幕录制并叠加画面数据,提升了用户体验。

图3为本申请实施例提供的多路屏幕数据录制叠加装置的组成结构示意图,如图3所示,本申请实施例的多路屏幕数据录制叠加装置包括:

生成单元30,用于对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象;

创建单元31,用于为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据;

叠加单元32,用于获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。

作为一种实现方式,所述叠加单元32,还用于:

确定每一抓屏线程中是否存在画面数据,若每一抓屏线程中均存在画面数据时,确定每一路画面数据的时间戳是否匹配,并将时间戳匹配的每一路画面数据进行叠加。

作为一种实现方式,所述叠加单元32,还用于:

确定抓屏线程中至少一路抓屏线程不存在画面数据时,获取该路抓屏线程中最近的画面数据叠加周期内的历史画面数据,将其他路抓屏线程读取的当前画面数据与所述历史画面数据进行叠加。

作为一种实现方式,所述叠加单元32,还用于:

确定抓屏线程中至少一路抓屏线程自抓屏线程建立后尚未获取画面数据,则将其余抓屏线程所获取的当前画面数据和/或最近的画面数据叠加周期内的历史画面数据进行叠加。

作为一种实现方式,在图3所示的多路屏幕数据录制叠加装置的基础上,本申请实施例的多路屏幕数据录制叠加装置还包括:

设置单元(图3中未示出),用于为每一抓屏线程设置画面数据缓存队列,所述缓存队列用于缓存从抓屏对象读取的预设数量帧的画面数据,当缓存队列存满且有新读取画面数据时,用新读取画面数据覆盖最早存储的画面数据。

在示例性实施例中,本申请实施例的多路屏幕数据录制叠加装置的上述各处理单元可以被一个或多个中央处理器(cpu,centralprocessingunit)、图形处理器(gpu,graphicsprocessingunit)、基带处理器(bp,baseprocessor)、应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或其他电子元件实现。

在本公开实施例中,图3示出的多路屏幕数据录制叠加装置中各个处理单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请实施例还记载了一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时,执行以下步骤:

对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象;

为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据;

获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。

可选的,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定每一抓屏线程中是否存在画面数据,若每一抓屏线程中均存在画面数据时,确定每一路画面数据的时间戳是否匹配,并将时间戳匹配的每一路画面数据进行叠加。

可选的,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定抓屏线程中至少一路抓屏线程不存在画面数据时,获取该路抓屏线程中最近的画面数据叠加周期内的历史画面数据,将其他路抓屏线程读取的当前画面数据与所述历史画面数据进行叠加。

可选的,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定抓屏线程中至少一路抓屏线程自抓屏线程建立后尚未获取画面数据,则将其余抓屏线程所获取的当前画面数据和/或最近的画面数据叠加周期内的历史画面数据进行叠加。

可选的,所述方法还包括:

为每一抓屏线程设置画面数据缓存队列,所述缓存队列用于缓存从抓屏对象读取的预设数量帧的画面数据,当缓存队列存满且有新读取画面数据时,用新读取画面数据覆盖最早存储的画面数据。

本申请实施例为用户提供了基于不同视频源进行屏幕录制并进行叠加的方式,用户可以根据自身的需要对多个视频源进行屏幕录制并叠加画面数据,提升了用户体验。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。


技术特征:

1.一种多路屏幕数据录制叠加方法,其特征在于,所述方法包括:

对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象;

为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据;

获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。

2.根据权利要求1所述的方法,其特征在于,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定每一抓屏线程中是否存在画面数据,若每一抓屏线程中均存在画面数据时,确定每一路画面数据的时间戳是否匹配,并将时间戳匹配的每一路画面数据进行叠加。

3.根据权利要求1所述的方法,其特征在于,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定抓屏线程中至少一路抓屏线程不存在画面数据时,获取该路抓屏线程中最近的画面数据叠加周期内的历史画面数据,将其他路抓屏线程读取的当前画面数据与所述历史画面数据进行叠加。

4.根据权利要求1所述的方法,其特征在于,所述获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,包括:

确定抓屏线程中至少一路抓屏线程自抓屏线程建立后尚未获取画面数据,则将其余抓屏线程所获取的当前画面数据和/或最近的画面数据叠加周期内的历史画面数据进行叠加。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:

为每一抓屏线程设置画面数据缓存队列,所述缓存队列用于缓存从抓屏对象读取的预设数量帧的画面数据,当缓存队列存满且有新读取画面数据时,用新读取画面数据覆盖最早存储的画面数据。

6.一种多路屏幕数据录制叠加装置,其特征在于,所述装置包括:

生成单元,用于对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象;

创建单元,用于为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据;

叠加单元,用于获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。

7.根据权利要求6所述的装置,其特征在于,所述叠加单元,还用于:

确定每一抓屏线程中是否存在画面数据,若每一抓屏线程中均存在画面数据时,确定每一路画面数据的时间戳是否匹配,并将时间戳匹配的每一路画面数据进行叠加。

8.根据权利要求6所述的装置,其特征在于,所述叠加单元,还用于:

确定抓屏线程中至少一路抓屏线程不存在画面数据时,获取该路抓屏线程中最近的画面数据叠加周期内的历史画面数据,将其他路抓屏线程读取的当前画面数据与所述历史画面数据进行叠加。

9.根据权利要求6所述的装置,其特征在于,所述叠加单元,还用于:

确定抓屏线程中至少一路抓屏线程自抓屏线程建立后尚未获取画面数据,则将其余抓屏线程所获取的当前画面数据和/或最近的画面数据叠加周期内的历史画面数据进行叠加。

10.根据权利要求6至9任一项所述的装置,其特征在于,所述装置还包括:

设置单元,用于为每一抓屏线程设置画面数据缓存队列,所述缓存队列用于缓存从抓屏对象读取的预设数量帧的画面数据,当缓存队列存满且有新读取画面数据时,用新读取画面数据覆盖最早存储的画面数据。

11.一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现如求1至5任一项所述的多路屏幕数据录制叠加方法的步骤。

技术总结
本申请公开了一种多路屏幕数据录制叠加方法及装置、存储介质,所述方法包括:对至少两路视频数据源的抓屏函数进行初始化,分别对应生成至少两个抓屏对象;为所述至少两个抓屏对象分别创建抓屏线程,每一抓屏线程分别读取与该抓屏线程对应的抓屏对象抓取的实时画面数据;获取每一抓屏线程读取的画面数据,对所获取的各路画面数据进行叠加,生成叠加屏幕数据。本申请为用户拓展了视频录制的使用方式,提升了用户体验。

技术研发人员:朱清;顾迅羽;周炬
受保护的技术使用者:苏州开心盒子软件有限公司
技术研发日:2021.04.02
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-1680.html

最新回复(0)