掌桥专利:专业的专利平台
掌桥专利
首页

投屏方法、装置和电子设备

文献发布时间:2023-06-19 18:27:32


投屏方法、装置和电子设备

技术领域

本发明涉及显示技术领域,尤其涉及一种投屏方法、装置和电子设备。

背景技术

无线投屏是在多屏幕之间交互的一种模式,常见有手机、平板、电视、电脑、一体机等屏幕的多屏互动,通过将源端设备的内容投屏到另一个显示设备上,以便于用户进行观看。

现有技术中,通常在源端设备上安装第三方应用程序,利用第三方应用程序以及其相关联的应用扩展实现投屏服务,主要过程是通过源端设备发送包括用于投屏的显示设备信息的广播包搜索投屏的显示设备,基于显示设备信息确定用于投屏的显示设备,在确定显示设备后,获取显示设备的网络互联网协议、端口号以及当前的状态信息,在确定显示设备处于投屏的状态时,开始计时,进入等待启动第三方应用程序相关联的应用扩展的倒计时,在计时结束时,启动第三方应用程序相关联的应用扩展,获取视频、音频等待投屏数据,在获取得到待投屏数据之后,建立应用扩展与投屏设备的通道连接,当通道连接建立成功之后,利用该通道连接传输待投屏数据,以使得投屏设备播放待投屏数据。

然而,采用现有技术,由于需要等待一定的时长才启动应用扩展,且需进一步建立通道连接,在通道连接建立成功之后,才能够将待投屏数据传输至显示设备进行播放,导致投屏效率较低。

发明内容

为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种投屏方法、装置和电子设备,能够在目标应用扩展与目标投屏设备建立第一通道连接完成之前,将目标待投屏数利用投屏应用程序与目标投屏设备之间建立的第二通道连接传输至目标投屏设备,无需等待目标应用扩展与目标投屏设备之间的第一通道连接建立完成之后,才能传输目标待投屏数至目标投屏设备,且在第一通道连接建立成功之后,无需将目标待投屏数再写入预设共享内存中,而是直接通过第一通道连接传输目标待投屏数至目标投屏设备,从而能够提高投屏效率,提升用户体验。

为了实现上述目的,本发明实施例提供的技术方案如下:

第一方面,提供一种投屏方法,应用于终端设备,包括:

在确定目标投屏设备处于投屏模式的情况下,在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接完成之前,通过所述目标应用扩展获取目标待投屏数据,并将所述目标待投屏数据写入预设共享内存;

通过所述投屏应用程序通过第二通道连接将所述预设共享内存中的目标待投屏数据传输至所述目标投屏设备;

在建立所述第一通道连接完成之后,停止所述目标应用扩展将所述目标待投屏数据写入预设共享内存,开始通过所述目标应用扩展直接将获取到的所述目标待投屏数据通过第一通道连接传输至所述目标投屏设备。

作为本发明实施例一种可选的实施方式,所述在确定目标投屏设备处于投屏模式的情况下之前,还包括:

响应于用户输入的投屏请求指令,在至少一个显示设备中确定所述目标投屏设备,并获取所述目标投屏设备的参数信息,其中,所述投屏请求指令携带投屏设备的标识信息,所述参数信息包括状态信息;

基于所述状态信息,确定所述目标投屏设备是否处于投屏模式。

作为本发明实施例一种可选的实施方式,所述通过投屏应用程序关联的目标应用扩展获取待投屏数据,并将所述目标待投屏数据写入预设共享内存之前,还包括:

建立所述投屏应用程序与所述目标投屏设备的第二通道连接,并统计启动目标应用扩展的目标时长;

当所述目标时长到达预设时长时,启动所述投屏应用程序关联的所述目标应用扩展,通过所述目标应用扩展获取目标待投屏数据,并将所述目标待投屏数据写入预设共享内存。

作为本发明实施例一种可选的实施方式,所述第二通道连接包括第一指令通道连接和第一数据通道连接;参数信息还包括第一属性信息,所述第一属性信息包括第一网络互联网协议和第一端口号;

所述建立所述投屏应用程序与所述目标投屏设备的第二通道连接,包括:

获取所述第二通道连接包括的第一指令通道连接的第二属性信息,其中,所述第二属性信息包括第二网络互联网协议和第二端口号;

基于所述第一属性信息和所述第二属性信息,建立所述投屏应用程序与所述目标投屏设备的第一指令通道连接;

在第一指令通道连接建立成功之后,通过第一指令通道连接确定目标待投屏数据的文件格式以及第一数据通道连接的第三端口号;

基于所述第一属性信息、第二网络互联网协议以及所述第三端口号,建立所述投屏应用程序与所述目标投屏设备的第一数据通道连接。

作为本发明实施例一种可选的实施方式,所述第一通道连接包括第二指令通道连接和第二数据通道连接;

所述在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接,包括:

获取所述第一通道连接包括的第二指令通道连接的第四端口号;

基于所述目标投屏设备的第一属性信息、第二网络互联网协议以及第四端口号,建立目标应用扩展与目标投屏设备的第二指令通道连接;

在第二指令通道连接建立成功之后,通过第二指令通道连接确定第二数据传输通道连接的第五端口号;

基于所述第一属性信息、第二网络互联网协议以及所述第五端口号,建立所述目标应用扩展与目标投屏设备的第二数据传输通道连接。

作为本发明实施例一种可选的实施方式,所述当所述目标时长到达预设时长时,启动所述投屏应用程序关联的所述目标应用扩展,通过所述目标应用扩展获取目标待投屏数据,并将所述目标待投屏数据写入预设共享内存,包括:

当所述目标时长到达预设时长时,启动所述投屏应用程序关联的所述目标应用扩展,通过所述目标应用扩展获取初始待投屏数据;

对所述初始待投屏数据进行解码处理,得到所述目标待投屏数据,并将所述目标待投屏数据写入预设共享内存中。

作为本发明实施例一种可选的实施方式,所述开始通过所述目标应用扩展直接将获取到的所述目标待投屏数据通过第一通道连接传输至所述目标投屏设备之后,还包括:

在通过所述投屏应用程序通过第二通道连接将所述预设共享内存中的目标待投屏数据传输完成时,断开所述投屏应用程序与所述目标投屏设备的第二通道连接。

第二方面,提供一种投屏装置,应用于终端设备,包括:

目标待投屏数据获取模块,用于在确定目标投屏设备处于投屏模式的情况下,在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接完成之前,通过所述目标应用扩展获取目标待投屏数据,并将所述目标待投屏数据写入预设共享内存;

第一目标待投屏数据传输模块,用于通过所述投屏应用程序通过第二通道连接将所述预设共享内存中的目标待投屏数据传输至所述目标投屏设备;

第二目标待投屏数据传输模块,用于在建立所述第一通道连接完成之后,停止所述目标应用扩展将所述目标待投屏数据写入预设共享内存,开始通过所述目标应用扩展直接将获取到的所述目标待投屏数据通过第一通道连接传输至所述目标投屏设备。

作为本发明实施例一种可选的实施方式,所述装置还包括:

目标投屏设备确定模块,用于响应于用户输入的投屏请求指令,在至少一个显示设备中确定所述目标投屏设备,并获取所述目标投屏设备的参数信息,其中,所述投屏请求指令携带投屏设备的标识信息,所述参数信息包括状态信息;

判断模块,用于基于所述状态信息,确定所述目标投屏设备是否处于投屏模式。

第三方面,本发明提供了一种电子设备,包括:一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所示的投屏方法。

本发明实施例提供的投屏方法、装置和电子设备,通过在确定目标投屏设备处于投屏模式的情况下,在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接完成之前,通过目标应用扩展获取目标待投屏数据,并将目标待投屏数据写入预设共享内存;通过投屏应用程序通过第二通道连接将预设共享内存中的目标待投屏数据传输至目标投屏设备;在建立第一通道连接完成之后,停止目标应用扩展将目标待投屏数据写入预设共享内存,开始通过目标应用扩展直接将获取到的目标待投屏数据通过第一通道连接传输至目标投屏设备。在上述过程中,能够在目标应用扩展与目标投屏设备建立第一通道连接完成之前,将目标待投屏数利用投屏应用程序与目标投屏设备之间建立的第二通道连接传输至目标投屏设备,无需等待目标应用扩展与目标投屏设备之间的第一通道连接建立完成之后,才能传输目标待投屏数至目标投屏设备,且在第一通道连接建立成功之后,无需将目标待投屏数再写入预设共享内存中,而是直接通过第一通道连接传输目标待投屏数至目标投屏设备,从而能够提高投屏效率,提升用户体验。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

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

图1A为本发明实施例提供的一种显示设备、控制装置以及终端设备之间的应用场景示意图;

图1B为现有技术中一种投屏方法的交互过程示意图;

图2为根据本公开一个或多个实施例的控制装置的硬件配置框图;

图3A为根据本公开一个或多个实施例的显示设备的硬件配置框图;

图3B为根据本公开一个或多个实施例的用户界面的示意图;

图4A为根据本公开一个或多个实施例的电子设备的软件配置示意图;

图4B为根据本公开一个或多个实施例的显示设备(主要为智能播放设备,例如智能电视等)中包含的应用程序的图标控件界面显示示意图;

图5A为本公开实施例提供的一种投屏方法的流程示意图;

图5B为本公开实施例提供的一种投屏方法的交互场景示意图;

图6A为本公开实施例提供的另一种投屏方法的流程示意图;

图6B为本公开实施例提供的另一种投屏方法的交互场景示意图;

图7A为本公开实施例提供的再一种投屏方法的流程示意图;

图7B为本公开实施例提供的再一种投屏方法的交互场景示意图;

图8为本公开实施例提供的又一种投屏方法的流程示意图;

图9为本公开实施例提供的又一种投屏方法的流程示意图;

图10为本公开实施例提供的一种投屏方法的装置结构示意图;

图11是本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面将对本发明的方案进行进一步描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本发明的一部分实施例,而不是全部的实施例。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。

术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、智能电视、激光投影设备、显示器(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等。本公开实施例对显示设备的具体类型不做限定。用户通过将终端设备如手机上的画面投屏至显示设备,利用显示设备进行播放,以便于用户进行观看,提升用户体验。

示例性的,如图1A所示,图1A为本发明实施例提供的一种显示设备、控制装置以及终端设备之间的应用场景示意图,在图1A中,将终端设备300的内容投屏至显示设备200上,使得用户能够通过显示设备200观看到终端设备300的内容。用户可通过控制装置100或终端设备300操作显示设备200。

图1B为现有技术中一种投屏方法的交互过程示意图。如图1B所示,通过终端设备上安装的第三方应用程序如投屏应用程序发送的包括用于投屏的显示设备信息的广播包搜索目标投屏设备,基于显示设备信息确定目标投屏设备之后,投屏应用程序接收目标投屏设备发送的参数信息,该参数信息包括目标投屏设备的网络互联网协议、端口号以及当前的状态信息,根据当前的状态信息确定目标投屏设备是否处于投屏模式,在确定目标投屏设备是处于投屏模式时,进入启动投屏应用程序相关联的应用扩展的倒计时,在计时结束时,启动第三方应用程序相关联的应用扩展,获取视频、音频等待投屏数据,进行解码,并建立应用扩展与目标投屏设备的通道连接,当通道连接建立成功之后,利用该通道连接传输待投屏数据,以使得投屏设备播放待投屏数据,该方式由于需要等待一定的时长才启动应用扩展,且在启动应用扩展之后,需进一步建立通道连接,在通道连接建立成功之后,才能够将待投屏数据传输至显示设备进行播放,导致投屏效率较低。

为了解决上述问题,本公开实施例提出了一种投屏方法,通过在确定目标投屏设备处于投屏模式的情况下,在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接完成之前,通过目标应用扩展获取目标待投屏数据,并将目标待投屏数据写入预设共享内存;通过投屏应用程序通过第二通道连接将预设共享内存中的目标待投屏数据传输至目标投屏设备;在建立第一通道连接完成之后,停止目标应用扩展将目标待投屏数据写入预设共享内存,开始通过目标应用扩展直接将获取到的目标待投屏数据通过第一通道连接传输至目标投屏设备。在上述过程中,能够在目标应用扩展与目标投屏设备建立第一通道连接完成之前,将目标待投屏数利用投屏应用程序与目标投屏设备之间建立的第二通道连接传输至目标投屏设备,无需等待目标应用扩展与目标投屏设备之间的第一通道连接建立完成之后,才传输目标待投屏数至目标投屏设备,且在第一通道连接建立成功之后,无需将目标待投屏数再写入预设共享内存中,而是直接通过第一通道连接传输目标待投屏数至目标投屏设备,从而能够提高投屏效率,提升用户体验。

在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等方式输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。

在一些实施例中,也可以使用智能设备(例如移动终端、平板电脑、计算机、笔记本电脑等)控制显示设备200。例如,使用智能设备上运行的应用程序控制显示设备200。

在一些实施例中,终端设备300可与显示200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作以及数据通信的目的。也可以将终端设备300上显示的音视频内容传输到显示设备200上,实现同步显示功能。

在一些实施例中,显示设备200可以不使用上述的智能设备300或终端设备300接收指令,而是通过触摸或者手势等方式接收用户的控制。

在一些实施例中,显示设备200还可以采用除了终端设备300和智能设备300之外的方式进行控制,例如,可以通过显示设备200内部配置的接收广播包的模块直接接收终端设备300发送的用于发现投屏设备的广播包,也可以通过显示设备200外部设置的通信器来接收广播包。

在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。显示设备200,可以为液晶显示器、OLED显示器或者投影显示设备等。显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。

图2为根据本公开一个或多个实施例的控制装置的硬件配置框图,如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。通信接口130用于和外部通信,包含无线网络通信技术WIFI芯片,蓝牙模块,NFC(Near Field Communication,近场通信)或可替代模块中的至少一种。用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。

图3A为根据本公开一个或多个实施例的显示设备的硬件配置框图。如图3所示,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种,还可以为一种投影装置和投影屏幕。

调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG(Electronic Program Guide,电子节目指南)数据信号。

通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。

检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。

外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。

在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。

显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。例如,显示器可为液晶显示器、OLED(Organic Light-EmittingDiode,有机发光半导体)显示器、触控显示器以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。

在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。

用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。例如3B所示,它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。用户接口,可用于接收终端设备300(如:红外遥控器等)的控制信号。

在一些实施例中,用户能够通过显示设备200的投屏模式选择是否打开投屏功能,在显示设备处于投屏模式下是,终端设备能搜索到显示设备进行投屏。

图4A为根据本公开一个或多个实施例的电子设备的软件配置示意图,如图4A所示,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。

在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。

框架层为应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务。

在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。

在一些实施例中,内核层是硬件和软件之间的层。内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。

图4B为根据本公开一个或多个实施例的显示设备(主要为智能播放设备,例如智能电视等)中包含的应用程序的图标控件界面显示示意图,如图4B中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播VOD应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。直播电视应用程序,可以通过不同的信号源提供直播电视。视频点播VOD应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。应用程序中心,可以提供储存各种应用程序。

本申请实施例提供的投屏方法,可以基于上述电子设备实现。

为了更加详细的说明本方案,以下将以示例性的方式结合图5进行说明,可以理解的是,图5A中所涉及的步骤在实际实现时可以包括更多的步骤,或者更少的步骤,并且这些步骤之间的顺序也可以不同,以能够实现本申请实施例中提供的应用于被控设备侧的投屏方法为准。

图5A为本公开实施例提供的一种投屏方法的流程示意图。本实施例应用于终端设备。本实施例方法由应用于终端设备侧的投屏装置来执行,该装置可采用硬件/或软件的方式来实现,并可配置于电子设备中。如图5A所示,该投屏方法具体包括如下步骤:

S510,在确定目标投屏设备处于投屏模式的情况下,在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接完成之前,通过目标应用扩展获取目标待投屏数据,并将目标待投屏数据写入预设共享内存。

其中,目标投屏设备是指用来显示移动设备如智能手机、平板电脑等用户界面的显示设备,该投屏设备包括但不限于电视、显示器。本公开实施例对目标投屏设备的具体类型不做限定。

上述目标应用扩展是用来实现与第三方应用程序如投屏应用程序之间进行数据共享,并将待投屏数据传输至目标投屏设备的应用扩展,对于目标应用扩展运行时需要和第三方应用程序分别调用各自的进程,利用目标应用扩展能够使得用户快速、方便的获取到第三方应用程序如投屏应用程序最及时的信息。目标待投屏数据是指用来被目标投屏设备进行播放的数据,该目标待投屏数据例如可以是视频、音频等数据,但不限于此,本公开不具体限制。

具体的,在确定目标投屏设备处于投屏模式的情况下时,且投屏应用程序关联的目标应用扩展与目标投屏设备之间用于传输目标待投屏数据的第一通道连接没有建立完成之前,利用目标应用扩展获取目标待投屏数据,并在获取得到目标待投屏数据之后,将目标待投屏数据写入预设共享内存中。

可选的,对于利用目标应用扩展获取目标待投屏数据可以是通过移动终端上的录频功能进行获取,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。

S520,通过投屏应用程序通过第二通道连接将预设共享内存中的目标待投屏数据传输至目标投屏设备。

具体的,当目标应用扩展将获取得到目标待投屏数据并写入预设共享内存中之后,通过投屏应用程序与目标投屏设备之间建立的第二通道,将目标待投屏数据传输至目标投屏设备,以使得目标投屏设备接收到目标待投屏数据,并进行播放。

S530,在建立第一通道连接完成之后,停止目标应用扩展将目标待投屏数据写入预设共享内存,开始通过目标应用扩展直接将获取到的目标待投屏数据通过第一通道连接传输至目标投屏设备。

具体的,在确定建立目标应用扩展与目标投屏设备之间的第一通道连接完成之后,此时停止将通过目标应用扩展获取的目标待投屏数据写入预设共享内存中,且将通过目标应用扩展获取的目标待投屏数据,通过目标应用扩展与目标投屏设备之间的第一通道连接直接传输至目标投屏设备,以使得目标投屏设备仍能够接收到目标待投屏数据,并进行播放。

需要说明的是,对于目标投屏设备接收的每帧目标待投屏数据,需要确定传输的每帧目标待投屏数据的通道连接的网络互联网协议,仅仅在传输每帧目标待投屏数据的通道连接的网络互联网协议一致时,才对目标待投屏数据进行播放,以此方式保证目标投屏设备接收的任一每帧目标待投屏数据均来自同一设备。

示例性的,图5B为本公开实施例提供的一种投屏方法的交互场景示意图。如图5B所示,终端设备上的投屏应用程序确定目标投屏设备处于投屏模式的状态,此时,需要将目标应用扩展获取的目标待投屏数据传输至目标投屏设备,使得目标投屏设备上能够将终端设备的用户界面的内容进行播放,具体的,在投屏应用程序相关联的目标应用扩展与目标投屏设备之间的第一通道连接没有建立完成之前,将通过目标应用扩展获取得到的目标待投屏数据写入预设共享内存,并向投屏应用程序发送第一通知指令,指示投屏应用程序此时预设共享内存中存储有目标待投屏数据,相应的,投屏应用程序接收到第一通知指令之后,从预设共享内存读取目标待投屏数据,并通过投屏应用程序与目标投屏设备之间的第二通道连接将目标待投屏数据传输至目标投屏设备,在完成目标应用扩展与目标投屏设备之间的第一通道连接建立之后,此时目标应用扩展获取得到的目标待投屏数据不在写入预设共享内存中,直接利用建立完成的第一通道连接传输至目标投屏设备。

这样,本公开实施例中提供的投屏方法,通过在确定目标投屏设备处于投屏模式的情况下,在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接完成之前,通过目标应用扩展获取目标待投屏数据,并将目标待投屏数据写入预设共享内存;通过投屏应用程序通过第二通道连接将预设共享内存中的目标待投屏数据传输至目标投屏设备;在建立第一通道连接完成之后,停止目标应用扩展将目标待投屏数据写入预设共享内存,开始通过目标应用扩展直接将获取到的目标待投屏数据通过第一通道连接传输至目标投屏设备。在上述过程中,能够在目标应用扩展与目标投屏设备建立第一通道连接完成之前,将目标待投屏数利用投屏应用程序与目标投屏设备之间建立的第二通道连接传输至目标投屏设备,无需等待目标应用扩展与目标投屏设备之间的第一通道连接建立完成之后,才能传输目标待投屏数至目标投屏设备,且在第一通道连接建立成功之后,无需将目标待投屏数再写入预设共享内存中,而是直接通过第一通道连接传输目标待投屏数至目标投屏设备,从而能够提高投屏效率,提升用户体验。

图6A为本公开实施例提供的另一种投屏方法的流程示意图,本实施例是在上述实施例的基础上进行优化。可选的,本实施例可适用于对在至少一个显示设备中确定目标投屏设备的过程进行说明。如图6A所示,在执行S510之前还包括如下步骤:

S610,响应于用户输入的投屏请求指令,在至少一个显示设备中确定目标投屏设备,并获取目标投屏设备的参数信息。

其中,投屏请求指令携带投屏设备的标识信息,标识信息可以是IP地址(InternetProtocol Address,互联网协议地址)、MAC地址(Media Access Control Address,局域网地址)、设备序列号等,实际应用中,可根据具体情况获取,此处不做具体限制。

上述参数信息包括状态信息,该状态信息用于指示目标投屏设备当前是否处于投屏模式,或者是状态信息用于指示目标投屏设备当前处于待机模式,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。

上述投屏请求指令可以是用户在终端设备输入的指令,还可以是用户在目标投屏设备输入的指令,本公开不具体限制,本领域技术人员可根据实际情况设置。

S620,基于状态信息,判断目标投屏设备是否处于投屏模式。

具体的,在接收到用户输入的投屏请求指令,响应于该投屏请求指令,在一个或多个显示设备中基于用于确定投屏的显示设备信息确定目标投屏设备,在确定了目标投屏设备之后,根据投屏设备的状态信息判断目标投屏设备当前是否处于投屏模式。

示例性的,承接上述实施例,图6B为本公开实施例提供的另一种投屏方法的交互场景示意图。如6B所示,终端设备上的投屏应用程序在接收到用户输入的投屏指令,该投屏请求指令携带用于投屏的显示设备的标识信息,将该标识信息打包为广播包,利用该广播包在一个或多个显示设备中搜索目标投屏设备,基于显示设备信息确定目标投屏设备之后,投屏应用程序接收到目标投屏设备发送的参数信息,该参数信息包括目标投屏设备当前的状态信息,根据当前的状态信息确定目标投屏设备处于投屏模式时,发送第二通知指令给目标扩展程序,指示进入启动目标扩展程序的流程,在目标应用扩展与目标投屏设备之间的第一通道连接未建立完成之前,获取目的待投屏数据,并将目的待投屏数据写入预设共享内存中,但不限于此,本公开不具体限制。

可选的,在上述实施例的基础上,在本公开的一些实施例中,还包括:

S630,当确定目标投屏设备不处于投屏模式时,结束投屏。

具体的,在接收到用户输入的投屏请求指令时,响应于该投屏请求指令,在一个或多个显示设备中根据显示设备信息确定目标投屏设备,在确定了目标投屏设备之后,根据当前的状态信息确定目标投屏设备不处于投屏模式,此时结束投屏。

这样,本公开实施例中提供的投屏方法,在上述过程中,在接收投屏请求指令之后,确定目标投屏设备,并获取目标投屏设备的状态信息,基于状态信息确定目标投屏设备是否处于投屏模式,以此避免目标投屏设备如果不在投屏模式时,导致投屏失败的问题。

图7A为本公开实施例提供的再一种投屏方法的流程示意图,本实施例是在上述实施例的基础上进行优化。如图7A所示,在执行通过投屏应用程序关联的目标应用扩展获取待投屏数据之前还包括如下步骤:

S710,建立投屏应用程序与目标投屏设备的第二通道连接,并统计启动目标应用扩展的目标时长。

其中,目标时长为等待启动目标应用扩展的时长,需要说明的是,对于在需要启动目标应用扩展之前,需要等待预设时长,才能够启动目标应用扩展。基于此,在基于参数信息确定目标投屏设备处于投屏模式下时,此时表明能够实现投屏功能,则进入启动目标应用扩展的倒计时。

需要说明的是,在等待启动目标应用扩展的过程中,同时建立投屏应用程序与目标投屏设备的第二通道连接,这样能够方便后续利用投屏应用程序与目标投屏设备的第二通道连接传输目标待投屏数据。

S720,当目标时长到达预设时长时,启动投屏应用程序关联的目标应用扩展,通过目标应用扩展获取待投屏数据,并将目标待投屏数据写入预设共享内存。

其中,预设时长是指用于确定需要等待多长时间才能够启动目标应用扩展所设置的参数值,示例性的,该参数值例如可以是3秒,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。

具体的,在确定目标投屏设备处于投屏模式的情况下,通过投屏应用程序关联的目标应用扩展获取待投屏数据之前,统计启动目标应用扩展的目标时长,同时建立投屏应用程序与目标投屏设备的第二通道连接,且在目标时长到达预设时长之后,此时启动投屏应用程序关联的目标应用扩展,通过目标应用扩展获取待投屏数据,并将目标待投屏数据写入预设共享内存。

示例性的,承接上述实施例,图7B为本公开实施例提供的再一种投屏方法的交互场景示意图。如7B所示,目标应用扩展在接收到第二通知指令时,进入启动目标应用扩展的流程,具体的,开始计时,统计启动目标应用扩展的目标时长,同时建立投屏应用程序与目标投屏设备的第二通道连接,在目标时长到达预设时长例如3秒时,此时启动目标应用扩展,且通过目标应用扩展获取待投屏数据,并将目标待投屏数据写入预设共享内存。但不限于此,本公开不具体限制。

这样,本公开实施例中提供的投屏方法,在上述过程中,在等待启动目标应用扩展的过程中,同时建立投屏应用程序与目标投屏设备的第二通道连接,这样能够方便后续利用投屏应用程序与目标投屏设备的第二通道连接传输目标待投屏数据至目标投屏设备。

可选的,在上述实施例的基础上,在本公开的一些实施例中,第二通道连接包括第一指令通道连接和第一数据通道连接;参数信息还包括第一属性信息,第一属性信息包括第一网络互联网协议和第一端口号;上述建立投屏应用程序与目标投屏设备的第二通道连接一种实现方式可以包括以下具体步骤:

步骤A,获取第二通道连接包括的第一指令通道连接的第二属性信息。

其中,第二属性信息包括第二网络互联网协议和第二端口号;其中,第二网络互联网协议为终端设备的系统分配给投屏应用程序的网络互联网协议,第二端口号为终端设备的系统分配给投屏应用程序用于与目标投屏设备进行通讯的第二网络互联网协议中包括的端口号。

第一指令通道连接是指用于与目标投屏设备之间进行通讯的通道连接。

步骤B,基于第一属性信息和第二属性信息,建立投屏应用程序与目标投屏设备的第一指令通道连接。

步骤C,在第一指令通道连接建立成功之后,通过第一指令通道连接确定目标待投屏数据的文件格式以及第一数据通道连接的第三端口号。

其中,目标待投屏数据的文件格式是指目标投屏设备能够进行播放的文件格式,例如,当目标待投屏数据为图片时,该文件格式例如可以是JPEG,但不限于此,本公开不具体限制。

步骤D,基于第一属性信息、第二网络互联网协议以及第三端口号,建立投屏应用程序与目标投屏设备的第一数据通道连接。

具体的,在确定目标投屏设备的属性信息包括的第一网络互联网协议和第一端口号时,获取投屏应用程序的第二网络互联网协议和用于与目标投屏设备进行通讯的第二端口号,根据该第一网络互联网协议、第一端口号、第二网络互联网协议和第二端口号,建立投屏应用程序与目标投屏设备的第一指令通道连接,在第一指令通道连接建立成功之后,通过第一指令通道连接确定目标投屏设备需要的目标待投屏数据的文件格式,以及第一数据通道连接的第三端口号,在确定第一数据通道连接的第三端口号之后,根据第一网络互联网协议、第一端口号、第二网络互联网协议和第三端口号建立投屏应用程序与目标投屏设备的第一数据通道连接。

需要说明的是,由于投屏应用程序为安装在终端设备的第三方应用程序,因此对于投屏应用程序的第一指令通道连接和第一数据通道连接与终端设备具有相同的网络互联网协议。

这样,本公开实施例中提供的投屏方法,在上述过程中,在等待启动目标应用扩展的过程中,同时建立投屏应用程序与目标投屏设备之间包括第一指令通道连接和第一数据通道连接的第二通道连接,并确定在目标投屏设备上能够进行投屏播放的目标待投屏数据的文件格式,这样能够方便后续利用投屏应用程序与目标投屏设备的第二通道连接传输目标待投屏数据,且保证正确的传输目标待投屏数据至目标投屏设备,避免在目标投屏设备播放目标待投屏数据时出现错误。

可选的,在上述实施例的基础上,在本公开的一些实施例中,第一通道连接包括第二指令通道连接和第二数据通道连接;上述建立目标应用扩展与目标投屏设备的第一通道连接的一种实现方式可以包括以下具体步骤:

步骤E,获取第一通道连接包括的第二指令通道连接的第四端口号。

步骤F,基于目标投屏设备的第一属性信息、第二网络互联网协议以及第四端口号,建立目标应用扩展与目标投屏设备的第二指令通道连接。

步骤G,在第二指令通道连接建立成功之后,通过第二指令通道连接确定第二数据传输通道连接的第五端口号。

步骤H,基于第一属性信息、第二网络互联网协议以及第五端口号,建立目标应用扩展与目标投屏设备的第二数据传输通道连接。

对于上述建立目标应用扩展与目标投屏设备的第一通道连接的具体过程步骤E-步骤H参考上述实施例中的步骤A-步骤D,此处不在过多赘述。

需要说明的是,由于目标应用扩展为投屏应用程序相关联的应用扩展,因此目标应用扩展与投屏应用程序具有相同的网络互联网协议,即终端设备的第二网络互联网协议。

这样,本公开实施例中提供的投屏方法,在上述过程中,通过建立目标应用扩展对应的第二指令通道连接和第二数据通道连接,以此使得后续能够方便的通过第二数据通道连接直接将获取得到的目标待播放数据传输至目标投屏设备。

图8为本公开实施例提供的又一种投屏方法的流程示意图,本实施例是在上述实施例的基础上进行优化。如图8所示,对于执行S720的一种实现方式具体包括如下步骤:

S810,当目标时长到达预设时长时,启动投屏应用程序关联的目标应用扩展,通过目标应用扩展获取初始待投屏数据。

其中,初始待投屏数据是指通过特定方式如录屏功能获取得到的最原始的待投屏数据。

S820,对初始待投屏数据进行解码处理,得到目标待投屏数据,并将目标待投屏数据写入预设共享内存中。

具体的,在确定目标投屏设备处于投屏模式的情况下,通过投屏应用程序关联的目标应用扩展获取待投屏数据之前,统计启动目标应用扩展的目标时长,在目标时长到达预设时长之后,此时启动目标应用扩展,通过目标应用扩展获取初始待投屏数据,并对获取得到的初始待投屏数据进行解码处理,得到目标待投屏数据,并将目标待投屏数据写入预设共享内存中。

这样,本公开实施例中提供的投屏方法,在上述过程中,通过对获取得到的初始待投屏数据进行解码处理之后,得到目标待投屏数据,并将目标待投屏数据存储至预设共享内存中,以此防止传输至目标投屏设备的目标待投屏数据出现错乱的问题。

图9为本公开实施例提供的又一种投屏方法的流程示意图,本实施例是在上述实施例的基础上进行优化。如图9所示,在执行S530之后还包括如下步骤:

S910,在通过投屏应用程序通过第二通道连接将预设共享内存中的目标待投屏数据传输完成时,断开投屏应用程序与目标投屏设备的第二通道连接。

具体的,当开始利用目标应用扩展与目标投屏设备之间的第一通道连接传输目标待投屏数据,且通过投屏应用程序通过第二通道连接将预设共享内存中的目标待投屏数据传输完成时,此时断开投屏应用程序与目标投屏设备的第二通道连接。

这样,本公开实施例中提供的投屏方法,在上述过程中,通过及时断开投屏应用程序与目标投屏设备的第二通道连接,避免存在空闲的通道连接,从而造成资源浪费。

图10为本公开实施例提供的一种投屏方法的装置结构示意图。应用于终端设备,该装置可实现本申请任意实施例所述的应用于终端设备侧的投屏方法。该装置具体包括如下:

目标待投屏数据获取模块11,用于在确定目标投屏设备处于投屏模式的情况下,在投屏应用程序关联的目标应用扩展与目标投屏设备建立第一通道连接完成之前,通过所述目标应用扩展获取目标待投屏数据,并将所述目标待投屏数据写入预设共享内存;

第一目标待投屏数据传输模块12,用于通过所述投屏应用程序通过第二通道连接将所述预设共享内存中的目标待投屏数据传输至所述目标投屏设备;

第二目标待投屏数据传输模块13,用于在建立所述第一通道连接完成之后,停止所述目标应用扩展将所述目标待投屏数据写入预设共享内存,开始通过所述目标应用扩展直接将获取到的所述目标待投屏数据通过第一通道连接传输至所述目标投屏设备。

作为本公开实施例一种可选的实施方式,所述装置还包括:

目标投屏设备确定模块,用于响应于用户输入的投屏请求指令,在至少一个显示设备中确定所述目标投屏设备,并获取所述目标投屏设备的参数信息,其中,所述投屏请求指令携带投屏设备的标识信息,所述参数信息包括状态信息;

判断模块,用于基于所述状态信息,确定所述目标投屏设备是否处于投屏模式。

作为本公开实施例一种可选的实施方式,目标待投屏数据获取模块11,包括通道连接建立单元,用于建立所述投屏应用程序与所述目标投屏设备的第二通道连接,并统计启动目标应用扩展的目标时长;

目标待投屏数据获取模块11,具体用于当所述目标时长到达预设时长时,启动所述投屏应用程序关联的所述目标应用扩展,通过所述目标应用扩展获取目标待投屏数据,并将所述目标待投屏数据写入预设共享内存。

作为本公开实施例一种可选的实施方式,通道连接建立单元,具体用于获取所述第二通道连接包括的第一指令通道连接的第二属性信息,其中,所述第二属性信息包括第二网络互联网协议和第二端口号;

基于所述第一属性信息和所述第二属性信息,建立所述投屏应用程序与所述目标投屏设备的第一指令通道连接;

在第一指令通道连接建立成功之后,通过第一指令通道连接确定目标待投屏数据的文件格式以及第一数据通道连接的第三端口号;

基于所述第一属性信息、第二网络互联网协议以及所述第三端口号,建立所述投屏应用程序与所述目标投屏设备的第一数据通道连接。

作为本公开实施例一种可选的实施方式,通道连接建立单元,具体还用于获取所述第一通道连接包括的第二指令通道连接的第四端口号;

基于所述目标投屏设备的第一属性信息、第二网络互联网协议以及第四端口号,建立目标应用扩展与目标投屏设备的第二指令通道连接;

在第二指令通道连接建立成功之后,通过第二指令通道连接确定第二数据传输通道连接的第五端口号;

基于所述第一属性信息、第二网络互联网协议以及所述第五端口号,建立所述目标应用扩展与目标投屏设备的第二数据传输通道连接。

作为本公开实施例一种可选的实施方式,目标待投屏数据获取模块11,具体还用于当所述目标时长到达预设时长时,启动所述投屏应用程序关联的所述目标应用扩展,通过所述目标应用扩展获取初始待投屏数据;

对所述初始待投屏数据进行解码处理,得到所述目标待投屏数据,并将所述目标待投屏数据写入预设共享内存中。

作为本公开实施例一种可选的实施方式,第二目标待投屏数据传输模块13,还用于在通过所述投屏应用程序通过第二通道连接将所述预设共享内存中的目标待投屏数据传输完成时,断开所述投屏应用程序与所述目标投屏设备的第二通道连接。

图11是本公开实施例提供的一种电子设备的结构示意图。如图10所示,该电子设备包括处理器1110和存储装置1120;电子设备中处理器1110的数量可以是一个或多个,图10中以一个处理器1110为例;电子设备中的处理器1110和存储装置1120可以通过总线或其他方式连接,图10中以通过总线连接为例。

存储装置1120作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开实施例中的投屏方法对应的程序指令/模块。处理器1110通过运行存储在存储装置1120中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现本公开实施例所提供的投屏方法。

存储装置1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置1120可进一步包括相对于处理器1110远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本实施例提供的一种电子设备可用于执行上述任意实施例提供的投屏方法,具备相应的功能和有益效果。

本公开实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述投屏方法执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,该计算机可读存储介质可以为只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。

为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

相关技术
  • 显示屏电源控制方法、装置、存储介质及电子设备
  • 显示屏亮度调节方法及装置、电子设备
  • 电子设备的显示屏盖板、电子设备及电子设备的控制方法
  • 显示屏、显示屏的制造方法及电子设备
  • 投屏方法、投屏装置、电子设备、车机和投屏系统
  • 投屏方法、投屏设备、投屏系统、电子设备、存储介质
技术分类

06120115574685