一种控制终端的方法和装置与流程

文档序号:18406759发布日期:2019-08-10 00:28阅读:121来源:国知局
一种控制终端的方法和装置与流程

本申请涉及终端技术领域,尤其涉及一种控制终端的方法和装置。



背景技术:

随着移动互联网的普及以及智能终端技术的发展,智能智能终端、平板电脑等智能终端已成为人们生活中的必不可少的一部分。由于便携性的要求,智能终端的尺寸不能过大,因此,智能终端的输入和输出设备的尺寸较小,影响用户的观看体验,并导致操作智能终端时的不便。

基于此,有需要提出新的技术方案能够方便用户对终端进行操作并提高用户的观看体验。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

本申请实施例的目的是提供一种控制终端的方法和装置,能够方便用户对终端进行操作并提高用户的观看体验。

为解决上述技术问题,本申请实施例是通过以下各方面实现的。

第一方面,本申请实施例提供了一种控制终端的方法,包括:与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容。

第二方面,本申请实施例提供了一种控制终端的方法,包括:与第一终端设备建立连接;向所述第一终端设备发送控制指令,所述控制指令是通过第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;接收第一终端设备发送的所述控制指令的执行结果,所述控制指令的执行结果包括第一终端设备屏幕显示内容;将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

第三方面,本申请实施例提供了一种控制终端的装置,包括:第一连接模块,用于与第二终端设备建立连接;第一接收模块,用于接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;第一执行模块,用于执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;第一发送模块,用于将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容。

第四方面,本申请实施例提供了一种控制终端的装置,包括:第二连接模块,用于与第一终端设备建立连接;第二发送模块,用于向所述第一终端设备发送控制指令,所述控制指令是通过第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;第二接收模块,用于接收第一终端设备发送的所述控制指令的执行结果,所述控制指令的执行结果包括第一终端设备屏幕显示内容;第二执行模块,用于将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

第五方面,本申请实施例提供了一种电子设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的方法的步骤。

第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的方法的步骤。

在本申请实施例中,通过与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容,能够方便用户对终端进行操作并提高用户的观看体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出本申请实施例提供的一种控制终端的方法的一种流程示意图;

图2为本申请实施例提供的一种控制终端的方法的另一种流程示意图;

图3为本申请实施例提供的一种控制终端的方法的另一种流程示意图;

图4为本申请实施例提供的一种控制终端的方法的另一种流程示意图;

图5为本申请实施例提供的一种控制终端的装置的一种流程示意图;

图6为本申请实施例提供的一种控制终端的装置的另一种流程示意图;

图7示出执行本申请实施例提供的一种控制终端的方法的一种电子设备的硬件结构示意图。

图8示出执行本申请实施例提供的一种控制终端的方法的另一种电子设备的硬件结构示意图

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1示出本申请实施例提供的一种控制终端的方法的一种流程示意图,该方法可以由电子设备执行,例如第一终端设备和/或第二终端设备。换言之,所述方法可以由安装在终端设备的软件或硬件来执行。如图所示,该方法可以包括以下步骤。

s10:与第二终端设备建立连接。

使第一终端设备与第二终端设备之间建立连接。例如,第一终端设备可以是智能终端设备,第二终端设备可以是个人计算机(personalcomputer,pc)。智能终端可以通过套接字(socket)访问指定的互联网协议地址(internetprotocol,ip)和端口号,比如:ip:192.168.6.8,端口:8868。由此,与第二终端设备建立连接。

s12:接收来自所述第二终端设备的控制指令。

所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令。通常,第二终端的输入设备比第一终端的输入设备便于操作。例如比第一终端的输入设备大等。

s14:执行所述控制指令。

执行所述控制指令可以包括:获取第一终端设备的屏幕显示内容。当接收到来自pc端的控制指令之后,智能终端可以根据该控制指令进行相关操作,例如当从pc端接收到获取智能终端屏幕显示内容的控制指令之后,智能终端则会根据一些智能终端参数利用不同的获取方式获取智能终端屏幕显示的内容。

s16:将所述控制指令的执行结果发送给所述第二终端设备。

所述控制指令的执行结果包括第一终端设备屏幕显示内容。当所述第二终端设备接收到第一终端设备发送的执行结果之后,可以将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

由此,本申请实施例提供的一种控制终端的方法,通过与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容,使用户能够利用第二终端设备的输入设备输入控制指令,以控制第一终端设备,方便用户的操作,并且利用第二终端设备的输出设备显示控制指令的执行结果,提高用户的观看体验。

图2示出本申请实施例提供的一种控制终端的方法的另一种流程示意图,该方法可以由电子设备执行,例如终端设备。换言之,所述方法可以由安装在终端设备的软件或硬件来执行。如图所示,该方法可以包括以下步骤。

s10:与第二终端设备建立连接。

使第一终端设备与第二终端设备之间建立连接。例如,第一终端设备可以是智能终端设备,第二终端设备可以是个人计算机(personalcomputer,pc)。智能终端可以通过套接字(socket)访问指定的互联网协议地址(internetprotocol,ip)和端口号,比如:ip:192.168.6.8,端口:8868。由此,与第二终端设备建立连接。

s12:接收来自所述第二终端设备的控制指令。

所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令。当智能终端和pc端能够正常建立连接时,智能终端启动服务(service),该服务用于获取屏幕的显示内容。

s14:执行所述控制指令。

执行所述控制指令可以包括:获取第一终端设备的屏幕显示内容。当接收到来自pc端的控制指令之后,智能终端可以根据该控制指令进行相关操作,例如当从pc端接收到获取智能终端屏幕显示内容的控制指令之后,智能终端则会根据一些智能终端参数利用不同的获取方式获取智能终端屏幕显示的内容。

该步骤可以包括步骤s141:使用媒体投影管理服务方式获取第一终端设备屏幕显示内容。

当所述第一终端设备的系统版本大于预设系统版本或等于所述预设系统版本时,预设系统版本例如可以包括安卓系统版本5.0,安卓系统版本5.0及以上的版本开放了截屏/录屏的mediaprojection接口,启用媒体投影管理服务mediaprojectionmanager;利用所述媒体投影管理服务mediaprojectionmanager调用媒体投影mediaprojection接口;通过所述mediaprojection接口获取所述第一终端设备屏幕显示内容,包括:确定获取所述第一终端设备屏幕显示内容时的分辨率和帧率;基于所述分辨率和帧率,获取所述第一终端设备屏幕显示内容;通过流媒体的方式返回所述第一终端设备屏幕显示内容。具体使用的操作方式包括virtualdisplaycreatevirtualdisplay(stringname,intwidth,intheight,intdpi,intflags,surfacesurface,virtualdisplay.callbackcallback,handlerhandler)等。

由此,智能终端设备基本无需做编码操作,便可将智能终端屏幕显示内容通过流媒体的方式返回给pc端的显示设备。

s16:将所述控制指令的执行结果发送给所述第二终端设备。

所述控制指令的执行结果包括第一终端设备屏幕显示内容。当所述第二终端设备接收到第一终端设备发送的执行结果之后,可以将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。该发送过程可以通过传输控制协议/因特网互联(transmissioncontrolprotocol/internetprotocol,tcp/ip)协议进行传输。

由此,本申请实施例提供的一种控制终端的方法,通过与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容,使用户能够利用第二终端设备的输入设备输入控制指令,以控制第一终端设备,方便用户的操作,并且利用第二终端设备的输出设备显示控制指令的执行结果,提高用户的观看体验。

此外,本申请实施例提供的一种控制终端的方法,通过当所述第一终端设备的系统版本大于预设系统版本或等于所述预设系统版本时,启用媒体投影管理服务;利用所述媒体投影管理服务调用媒体投影接口;通过所述媒体投影接口获取所述第一终端设备屏幕显示内容;确定获取所述第一终端设备屏幕显示内容时的分辨率和帧率;基于所述分辨率和帧率,获取所述第一终端设备屏幕显示内容;通过流媒体的方式返回所述第一终端设备屏幕显示内容,能够在第一终端设备的系统版本大于等于预设系统版本时获取第一终端设备的屏幕显示内容,并将所述控制指令的执行结果发送给所述第二终端设备。

图3示出本申请实施例提供的一种控制终端的方法的另一种流程示意图,该方法可以由电子设备执行,例如终端设备。换言之,所述方法可以由安装在终端设备的软件或硬件来执行。如图所示,该方法可以包括以下步骤。

s10:与第二终端设备建立连接。

使第一终端设备与第二终端设备之间建立连接。例如,第一终端设备可以是智能终端设备,第二终端设备可以是个人计算机(personalcomputer,pc)。智能终端可以通过套接字(socket)访问指定的互联网协议地址(internetprotocol,ip)和端口号,比如:ip:192.168.6.8,端口:8868。由此,与第二终端设备建立连接。

s12:接收来自所述第二终端设备的控制指令。

所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令。当智能终端和pc端能够正常建立连接时,智能终端启动服务(service),该服务用于获取屏幕的显示内容。

s14:执行所述控制指令。

执行所述控制指令可以包括:获取第一终端设备的屏幕显示内容。当接收到来自pc端的控制指令之后,智能终端可以根据该控制指令进行相关操作,例如当从pc端接收到获取智能终端屏幕显示内容的控制指令之后,智能终端则会根据一些智能终端参数利用不同的获取方式获取智能终端屏幕显示的内容。

该步骤可以包括步骤s141:使用媒体投影管理服务方式获取第一终端设备屏幕显示内容。

当所述第一终端设备的系统版本大于预设系统版本或等于所述预设系统版本时,预设系统版本例如可以包括安卓系统版本5.0,安卓系统版本5.0及以上的版本开放了截屏/录屏的mediaprojection接口,启用媒体投影管理服务mediaprojectionmanager;利用所述媒体投影管理服务mediaprojectionmanager调用媒体投影mediaprojection接口;通过所述mediaprojection接口获取所述第一终端设备屏幕显示内容,包括:确定获取所述第一终端设备屏幕显示内容时的分辨率和帧率;基于所述分辨率和帧率,获取所述第一终端设备屏幕显示内容;通过流媒体的方式返回所述第一终端设备屏幕显示内容。具体使用的操作方式包括virtualdisplaycreatevirtualdisplay(stringname,intwidth,intheight,intdpi,intflags,surfacesurface,virtualdisplay.callbackcallback,handlerhandler)等。

以上是系统提供给开发者的新的录屏和截屏的方式,这样做的优势是智能终端设备基本无需做编码操作,便可将智能终端屏幕显示内容通过流媒体的方式返回给pc端的显示设备。

该步骤还可以包括步骤s142:使用定时获取或反射调用截屏函数方式获取第一终端设备屏幕显示内容。

当所述第一终端设备的系统版本小于预设系统版本时,根据预设频率定时获取所述第一终端设备屏幕显示内容。该步骤包括:当所述系统权限信息是根权限时,读取所述第一终端设备中预设路径下的帧缓存数据,以获取所述第一终端设备屏幕显示内容;当所述系统权限信息不是根权限时,采用反射调用截屏函数的方式以获取所述第一终端设备屏幕显示内容。

例如,当智能终端确定其系统为低于安卓系统版本5.0的系统,并且所述系统权限信息是根权限时,则在服务开始时开启一个定时器。不同的版本可能使用不同的定时器方式,例如使用handler类的postdelayed方法、用handler+timer+timetask方法、thread+handler方法等,这里不对定时器的方式做任何限定。由于安卓系统基于linux内核,因此可以在安卓系统中找到framebuffer设备,通过读取帧缓存文件/dev/graphics/fb0中的数据,根据预设频率定时获取屏幕上的内容将framebuffer读取出的屏幕显示内容转换成rgb图像形式进行显示。

当智能终端确定其系统为低于安卓系统版本5.0的系统,并且所述系统权限信息不是根权限时,则智能终端设备可以判断其存储器是否为特定的只读内存(read-onlymemory,rom),如果是特定rom,则采用反射调用截屏函数获取屏幕显示内容。其中,截屏函数分为surfacecontrol.screenshot()和surface.screenshot()。其中,surfacecontrol.screenshot()是系统内部提供的截屏函数,但是该函数是@hide的,无法直接调用,并且由于surfacecontrol类也是被隐藏的,从用户代码中无法获取这个类的相关内容,在本步骤中可以通过反射调用的方式调用截屏函数surfacecontrol.screenshot()。

在另一种可能的实现方式中,可以通过其他方法调用以上截屏函数,比如编译软件开发工具包(softwaredevelopmentkit,sdk),或者在源码环境下编译安卓安装包(androidpackage,apk)。

当获取屏幕显示内容之后,可以将屏幕显示内容转换为h264格式的字节数组,并封装成一个数据包。

s16:将所述控制指令的执行结果发送给所述第二终端设备。

所述控制指令的执行结果包括第一终端设备屏幕显示内容。当所述第二终端设备接收到第一终端设备发送的执行结果之后,可以将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。该发送过程可以通过tcp/ip协议进行传输。

由此,本申请实施例提供的一种控制终端的方法,通过与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容,使用户能够利用第二终端设备的输入设备输入控制指令,以控制第一终端设备,方便用户的操作,并且利用第二终端设备的输出设备显示控制指令的执行结果,提高用户的观看体验。

此外,本申请实施例提供的一种控制终端的方法,通过当所述第一终端设备的系统版本大于预设系统版本或等于所述预设系统版本时,启用媒体投影管理服务;利用所述媒体投影管理服务调用媒体投影接口;通过所述媒体投影接口获取所述第一终端设备屏幕显示内容;确定获取所述第一终端设备屏幕显示内容时的分辨率和帧率;基于所述分辨率和帧率,获取所述第一终端设备屏幕显示内容;通过流媒体的方式返回所述第一终端设备屏幕显示内容,以及当所述第一终端设备的系统版本小于预设系统版本时,根据预设频率定时获取所述第一终端设备屏幕显示内容,能够实现无论第一终端设备使用何种系统版本均能够获取第一终端设备的屏幕显示内容,并将所述控制指令的执行结果发送给所述第二终端设备。

图4示出本申请实施例提供的一种控制终端的方法的另一种流程示意图,该方法可以由电子设备执行,例如终端设备。换言之,所述方法可以由安装在终端设备的软件或硬件来执行。如图所示,该方法可以包括以下步骤。

s10:与第二终端设备建立连接。

使第一终端设备与第二终端设备之间建立连接。例如,第一终端设备可以是智能终端设备,第二终端设备可以是个人计算机(personalcomputer,pc)。智能终端可以通过套接字(socket)访问指定的互联网协议地址(internetprotocol,ip)和端口号,比如:ip:192.168.6.8,端口:8868。由此,与第二终端设备建立连接。

s22:向所述第一终端设备发送控制指令。

所述控制指令是通过第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令。

s12:接收来自所述第二终端设备的控制指令。

所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令。当智能终端和pc端能够正常建立连接时,智能终端启动服务(service),该服务用于获取屏幕的显示内容。

s14:执行所述控制指令。

执行所述控制指令可以包括:获取第一终端设备的屏幕显示内容。当接收到来自pc端的控制指令之后,智能终端可以根据该控制指令进行相关操作,例如当从pc端接收到获取智能终端屏幕显示内容的控制指令之后,智能终端则会根据一些智能终端参数利用不同的获取方式获取智能终端屏幕显示的内容。

该步骤可以包括步骤s141(结合图3所示):使用媒体投影管理服务方式获取第一终端设备屏幕显示内容。

当所述第一终端设备的系统版本大于预设系统版本或等于所述预设系统版本时,预设系统版本例如可以包括安卓系统版本5.0,安卓系统版本5.0及以上的版本开放了截屏/录屏的mediaprojection接口,启用媒体投影管理服务mediaprojectionmanager;利用所述媒体投影管理服务mediaprojectionmanager调用媒体投影mediaprojection接口;通过所述mediaprojection接口获取所述第一终端设备屏幕显示内容,包括:确定获取所述第一终端设备屏幕显示内容时的分辨率和帧率;基于所述分辨率和帧率,获取所述第一终端设备屏幕显示内容;通过流媒体的方式返回所述第一终端设备屏幕显示内容。具体使用的操作方式包括virtualdisplaycreatevirtualdisplay(stringname,intwidth,intheight,intdpi,intflags,surfacesurface,virtualdisplay.callbackcallback,handlerhandler)等。

以上是系统提供给开发者的新的录屏和截屏的方式,这样做的优势是智能终端设备基本无需做编码操作,便可将智能终端屏幕显示内容通过流媒体的方式返回给pc端的显示设备。

该步骤还可以包括步骤s142(结合图3所示):使用定时获取或反射调用截屏函数方式获取第一终端设备屏幕显示内容。

当所述第一终端设备的系统版本小于预设系统版本时,根据预设频率定时获取所述第一终端设备屏幕显示内容。该步骤包括:当所述系统权限信息是根权限时,读取所述第一终端设备中预设路径下的帧缓存数据,以获取所述第一终端设备屏幕显示内容;当所述系统权限信息不是根权限时,采用反射调用截屏函数的方式以获取所述第一终端设备屏幕显示内容。

例如,当智能终端确定其系统为低于安卓系统版本5.0的系统,并且所述系统权限信息是根权限时,则在服务开始时开启一个定时器。不同的版本可能使用不同的定时器方式,例如使用handler类的postdelayed方法、用handler+timer+timetask方法、thread+handler方法等,这里不对定时器的方式做任何限定。由于安卓系统基于linux内核,因此可以在安卓系统中找到framebuffer设备,通过读取帧缓存文件/dev/graphics/fb0中的数据,根据预设频率定时获取屏幕上的内容将framebuffer读取出的屏幕显示内容转换成rgb图像形式进行显示。

当智能终端确定其系统为低于安卓系统版本5.0的系统,并且所述系统权限信息不是根权限时,则智能终端设备可以判断其存储器是否为特定的只读内存(read-onlymemory,rom),如果是特定rom,则采用反射调用截屏函数获取屏幕显示内容。其中,截屏函数分为surfacecontrol.screenshot()和surface.screenshot()。其中,surfacecontrol.screenshot()是系统内部提供的截屏函数,但是该函数是@hide的,无法直接调用,并且由于surfacecontrol类也是被隐藏的,从用户代码中无法获取这个类的相关内容,在本步骤中可以通过反射调用的方式调用截屏函数surfacecontrol.screenshot()。

在另一种可能的实现方式中,可以通过其他方法调用以上截屏函数,比如编译软件开发工具包(softwaredevelopmentkit,sdk),或者在源码环境下编译安卓安装包(androidpackage,apk)。

该步骤还可以包括使用应用内截屏函数的方式获取所述第一终端设备屏幕显示内容。

具体包括通过观看(view)的缓存(cache)来获取一个位图(bitmap)对象,然后保存成图片文件。

当获取屏幕显示内容之后,可以将屏幕显示内容转换为h264格式的字节数组,并封装成一个数据包。

s16:将所述控制指令的执行结果发送给所述第二终端设备。

所述控制指令的执行结果包括第一终端设备屏幕显示内容。当所述第二终端设备接收到第一终端设备发送的执行结果之后,可以将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。该发送过程可以通过tcp/ip协议进行传输。

s24:接收第一终端设备发送的所述控制指令的执行结果。

所述控制指令的执行结果包括第一终端设备屏幕显示内容;所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令。当智能终端和pc端能够正常建立连接时,智能终端启动服务(service),该服务用于获取屏幕的显示内容。

s26:将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

当第一终端设备屏幕显示内容被展示在第二终端设备的显示设备上之后,用户可以在第二终端设备的显示设备上观看第一终端设备屏幕显示内容,并且对第一终端设备进行操作。

步骤221:接收初始控制位置。

接收用户通过第二终端的输入设备输入的与位置相关的控制指令,与位置相关的控制指令中包含初始控制位置,所述初始控制位置位于所述第二终端的显示设备上。与位置相关的控制指令例如可以包括快进、快退或选中范围等。该控制指令可以为adb控制指令。

步骤222:将所述初始控制位置转换为目标控制位置。

对位于第二终端显示设备上的初始控制位置进行坐标变换,将初始控制位置变换为目标控制位置,目标控制位置位于所述第一终端的屏幕上。该坐标变换例如可以包括根据第二终端显示设备与第一终端屏幕之间的面积比,进行等比转换。目标控制位置可以由adb控制指令adbshellinputtapxy表示。

步骤223:向所述第一终端设备发送控制指令。

所述控制指令中携带所述目标控制位置。

s144:接收并执行来自所述第二终端设备的控制指令。

本步骤可以包括:接收来自所述第二终端设备的控制指令,所述控制指令中携带目标控制位置,所述目标控制位置位于所述第一终端的屏幕上;根据所述目标控制位置,在所述第一终端设备的屏幕上执行所述控制指令。

由此,本申请实施例提供的一种控制终端的方法,通过与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容,使用户能够利用第二终端设备的输入设备输入控制指令,以控制第一终端设备,方便用户的操作,并且利用第二终端设备的输出设备显示控制指令的执行结果,提高用户的观看体验。

由此,本申请实施例提供的一种控制终端的方法,通过接收来自所述第二终端设备的控制指令,所述控制指令中携带目标控制位置,所述目标控制位置位于所述第一终端的屏幕上;执行所述控制指令包括:根据所述目标控制位置,在所述第一终端设备的屏幕上执行所述控制指令,使用户能够利用第二终端的输入设备输入与位置相关的控制指令,对第一终端实现与位置相关的控制。

图5为本申请实施例提供的一种控制终端的装置的一种流程示意图,该装置100包括:第一连接模块110、第一接收模块120、第一执行模块130和第一发送模块140。

第一连接模块110,用于与第二终端设备建立连接;第一接收模块120,用于接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;第一执行模块130,用于执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;第一发送模块140,用于将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容。

在一种可能的实现方式中,所述第一执行模块130用于当所述第一终端设备的系统版本大于预设系统版本或等于所述预设系统版本时,启用媒体投影管理服务;利用所述媒体投影管理服务调用媒体投影接口;通过所述媒体投影接口获取所述第一终端设备屏幕显示内容。

在一种可能的实现方式中,所述第一执行模块130用于确定获取所述第一终端设备屏幕显示内容时的分辨率和帧率;基于所述分辨率和帧率,获取所述第一终端设备屏幕显示内容;通过流媒体的方式返回所述第一终端设备屏幕显示内容。

在一种可能的实现方式中,所述第一执行模块130用于:当所述第一终端设备的系统版本小于预设系统版本时,根据预设频率定时获取所述第一终端设备屏幕显示内容。

在一种可能的实现方式中,所述第一执行模块130用于:当所述系统权限信息是根权限时,读取所述第一终端设备中预设路径下的帧缓存数据,以获取所述第一终端设备屏幕显示内容。

在一种可能的实现方式中,所述第一执行模块130用于:当所述系统权限信息不是根权限时,采用反射调用截屏函数的方式以获取所述第一终端设备屏幕显示内容。

在一种可能的实现方式中,所述第一执行模块130用于:采用应用内截屏函数的方式获取所述第一终端设备屏幕显示内容。

在一种可能的实现方式中,所述控制指令还包括与控制位置相关的指令,所述第一接收模块120用于:接收来自所述第二终端设备的控制指令,所述控制指令中携带目标控制位置,所述目标控制位置位于所述第一终端的屏幕上;所述第一执行模块130用于:根据所述目标控制位置,在所述第一终端设备的屏幕上执行所述控制指令。

在一种可能的实现方式中,所述第一接收模块120接收的所述控制指令包括安卓调试桥adb控制指令。

本申请实施例提供的该装置100,可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。

图6为本申请实施例提供的一种控制终端的装置的一种流程示意图,该装置200包括:第二连接模块210、第二发送模块220、第二接收模块230和第二执行模块240。

第二连接模块210,用于与第一终端设备建立连接;第二发送模块220,用于向所述第一终端设备发送控制指令,所述控制指令是通过第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;第二接收模块230,用于接收第一终端设备发送的所述控制指令的执行结果,所述控制指令的执行结果包括第一终端设备屏幕显示内容;第二执行模块240,用于将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

在一种可能的实现方式中,所述控制指令还包括与控制位置相关的指令,所述第二发送模块220用于:接收初始控制位置,所述初始控制位置位于所述第二终端的显示设备上;将所述初始控制位置转换为目标控制位置,所述目标控制位置位于所述第一终端的屏幕上;向所述第一终端设备发送控制指令,所述控制指令中携带所述目标控制位置。

在一种可能的实现方式中,所述第二发送模块220发送的所述控制指令包括安卓调试桥adb控制指令。

图7示出执行本申请实施例提供的一种控制终端的方法的一种电子设备的硬件结构示意图,如图所示,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对该电子设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在该电子设备上执行存储器702中的一系列计算机可执行指令。该电子设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。

在一个具体的实施例中,该电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现以下流程:与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容。

由此,执行本申请实施例提供的方法的电子设备可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。

图8示出执行本申请实施例提供的一种控制终端的方法的另一种电子设备的硬件结构示意图,如图所示,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对该电子设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在该电子设备上执行存储器802中的一系列计算机可执行指令。该电子设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806等。

在一个具体的实施例中,该电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现以下流程:与第一终端设备建立连接;向所述第一终端设备发送控制指令,所述控制指令是通过第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;接收第一终端设备发送的所述控制指令的执行结果,所述控制指令的执行结果包括第一终端设备屏幕显示内容;将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

由此,执行本申请实施例提供的方法的电子设备可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。

本申请实施例的电子设备以多种形式存在,包括但不限于以下设备。

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)其他具有数据交互功能的电子装置。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:与第一终端设备建立连接;向所述第一终端设备发送控制指令,所述控制指令是通过第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;接收第一终端设备发送的所述控制指令的执行结果,所述控制指令的执行结果包括第一终端设备屏幕显示内容;将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

由此,所述计算机可执行指令被处理器执行时能够执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。

其中,所述的计算机可读存储介质包括只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现以下流程:与第二终端设备建立连接;接收来自所述第二终端设备的控制指令,所述控制指令是通过所述第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;执行所述控制指令,包括:获取第一终端设备的屏幕显示内容;将所述控制指令的执行结果发送给所述第二终端设备,所述控制指令的执行结果包括第一终端设备屏幕显示内容。

进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现以下流程:与第一终端设备建立连接;向所述第一终端设备发送控制指令,所述控制指令是通过第二终端的输入设备输入的,所述控制指令包括用于获取屏幕显示内容的指令;接收第一终端设备发送的所述控制指令的执行结果,所述控制指令的执行结果包括第一终端设备屏幕显示内容;将所述第一终端设备屏幕显示内容展示在所述第二终端设备的显示设备上。

由此,执行本申请实施例提供的计算机程序产品能够执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1