具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本发明所涉及的实施环境的示意图。该实施环境包括:智能显示设备110、网络设备120和移动终端130。
智能显示设备110与网络设备120、移动终端130之间的关联方式,包括硬件的网络关联方式和/或协议,以及二者之间往来的数据关联方式。智能显示设备110可以兼容Miracast功能(无线显示功能)和WIFI网络功能(无线网络接入功能)。开启Miracast功能时,智能显示设备110与移动终端130进行数据传输,可以共享移动终端130的照片、影片、文字等内容。智能显示设备110在关闭Miracast功能时可以接入WIFI网络,实现与网络设备120的连接,在线观看视频或下载视频文件等。
其中,此处的移动终端130可以是平板电脑、笔记本电脑、智能手机等,网络设备120可以是常见的路由器。
图2是根据一示例性实施例示出的一种装置200的框图。例如,装置200可以是图1所示实施环境中的智能显示设备。智能显示设备比如可以是智能电视、智能电视机顶盒、投影仪等。
参照图2,装置200可以包括以下一个或多个组件:处理组件202,存储器204,电源组件206,多媒体组件208,音频组件210,传感器组件214以及通信组件216。
处理组件202通常控制装置200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件202可以包括一个或多个处理器218来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件202可以包括一个或多个模块,便于处理组件202和其他组件之间的交互。例如,处理组件202可以包括多媒体模块,以方便多媒体组件208和处理组件202之间的交互。
存储器204被配置为存储各种类型的数据以支持在装置200的操作。这些数据的示例包括用于在装置200上操作的任何应用程序或方法的指令。存储器204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储器204中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器218执行,以完成下述图3、图6任一所示方法中的全部或者部分步骤。
电源组件206为装置200的各种组件提供电力。电源组件206可以包括电源管理系统,一个或多个电源,及其他与为装置200生成、管理和分配电力相关联的组件。
多媒体组件208包括在所述装置200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,简称LCD)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(Organic Light Emitting Display,简称OLED)。
音频组件210被配置为输出和/或输入音频信号。例如,音频组件210包括一个麦克风(Microphone,简称MIC),当装置200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器204或经由通信组件216发送。在一些实施例中,音频组件210还包括一个扬声器,用于输出音频信号。
传感器组件214包括一个或多个传感器,用于为装置200提供各个方面的状态评估。例如,传感器组件214可以检测到装置200的打开/关闭状态,组件的相对定位,传感器组件214还可以检测装置200或装置200一个组件的位置改变以及装置200的温度变化。在一些实施例中,该传感器组件214还可以包括磁传感器,压力传感器或温度传感器。
通信组件216被配置为便于装置200和其他设备之间有线或无线方式的通信。装置200可以接入基于通信标准的无线网络,如WiFi(WIreless-Fidelity,无线保真)。在一个示例性实施例中,通信组件216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件216还包括近场通信(Near FieldCommunication,简称NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RadioFrequency Identification,简称RFID)技术,红外数据协会(Infrared DataAssociation,简称IrDA)技术,超宽带(Ultra Wideband,简称UWB)技术,蓝牙技术和其他技术来实现。
在示例性实施例中,装置200可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。
图3是根据一示例性实施例示出的一种控制智能显示设备无线显示的方法的流程图。该控制智能显示设备无线显示的方法的适用范围和执行主体,例如,该方法用于图1所示实施环境的智能显示设备110中,如图3所示,该方法可以包括以下步骤。
在步骤S310中,根据接收的智能显示设备应用层下发的Miracast功能开启指令,触发中间件所配置的状态机跳转进入Miracast开启等待状态;所述Miracast功能开启指令用于触发智能显示设备中Miracast功能的开启;
其中,智能显示设备的系统框架如图4所示,主要包括4层。从上而下依次包括UI层(应用层)、BIZ层(管理层)、Dvbmain层(本地方法层)和Wpa_supplicant(无线网络配置层)。BIZ层和Dvbmain层作为中间件的主要组成。UI层用于接收用户操作智能显示设备的触发指令,该触发指令可以是打开Miracast功能指令或关闭Miracast功能指令(即打开WIFI网络功能)。
BIZ层则主要解决WIFI网络功能和Miracast功能冲突问题,实现WIFI网络功能和Miracast功能之间切换的逻辑处理。Dvbmain层用于实现打开WIFI网络功能或Miracast功能的具体方法,即向Wpa_supplicant发送控制命令,作为BIZ层与Wpa_supplicant之间的开关接口。Wpa_supplicant是WIFI网络管理工具程序,实现WIFI网络协议、加密认证等功能。
具体的,UI层接收到用户触发智能显示设备的触发指令(如打开Miracast功能)后,BIZ层接收UI层下发的Miracast功能开启指令。当然,该Miracast功能开启指令用于触发智能显示设备的Miracast功能的开启。
需要说明的是,中间件的BIZ层配置有状态机,UI层下发的Miracast功能开启指令被输入到BIZ层的状态机中,后续Miracast功能的开启与关闭均由状态机自动通过状态切换来完成,不再由UI层通过逻辑处理下发控制指令。
具体的,BIZ层的状态机的状态切换过程如图5所示。状态机初始化启动后进入MIRACAST_IDLE状态(初始状态),等待上层(UI层)下发控制指令,状态机默认为初始状态。状态机接收UI层下发的Miracast功能开启指令后,由初始状态跳转为MIRACAST_STACLOSING状态(Miracast开启等待状态)。
在步骤S330中,通过所述Miracast开启等待状态下输出的WIFI网络功能关闭指令,调用所述中间件所配置本地方法层的接口,关闭所述智能显示设备的WIFI网络功能;
其中,步骤S330具体包括以下步骤:
向所述中间件所配置的本地方法层下发所述Miracast开启等待状态下输出的WIFI网络功能关闭指令;
接收本地方法层通过调用指定接口程序下发的所述WIFI网络功能关闭指令后返回的WIFI网络功能关闭结果。
具体的,状态机在该MIRACAST_STACLOSING状态下,向中间件的Dvbmain层发送WIFI网络功能关闭指令,Dvbmain层调用指定接口程序(WifiDisplay实现设备间高速传输视频程序/Wifip2pService无线点对点服务程序/Wifip2pAdapter无线点对点适配器程序/WifiMonitor无线监听程序))继续将WIFI网络功能关闭指令发送至下层的Wpa_supplicant,其中,该WIFI网络功能关闭指令用于实现WIFI网络功能的关闭。Wpa_supplicant接收到Dvbmain层下发的WIFI网络功能关闭指令后,实现WIFI网络功能的关闭,并向Dvbmain层上报当前的运行状态。其中,状态机等待Dvbmain层返回WIFI网络关闭的结果,Dvbmain层在接收到Wpa_supplicant上报的运行状态后向BIZ层的状态机返回WIFI网络关闭的结果。
在步骤S350中,在所述WIFI网络功能被关闭时跳转进入Miracast开启状态;
需要说明的是,如图5所示,BIZ层的状态机在接收到Dvbmain层返回的关闭结果是WIFI网络功能关闭成功时,状态机进入MIRACAST_STARTING状态(Miracast开启状态)。
相反的,如图5所示,BIZ层的状态机在接收到Dvbmain层返回的关闭结果是WIFI网络功能关闭失败时,状态机进入MIRACAST_FAILED状态(Miracast开启失败状态),并向UI层发送错误报告,等待UI层下发操作命令。在UI层下发停止Miracast功能时,状态机进入MIRACAST_STOPPING状态(Miracast关闭状态),向Dvbmain层发送Miracast功能关闭指令,在接收到返回的Miracast功能已关闭消息后,状态机进入MIRACAST_STARECOVERING状态(Miracast等待恢复状态),向Dvbmain层发送恢复WIFI网络功能的指令,并等待Dvbmain层返回恢复结果,返回结果是恢复成功时,状态机跳转为初始状态。
在步骤S370中,通过所述Miracast开启状态下输出的Miracast功能开启指令,调用所述中间件所配置本地方法层的接口,开启所述智能显示设备的Miracast功能。
具体的,BIZ层的状态机在接收到WIFI网络功能关闭成功消息后,跳转进入MIRACAST_STARTING状态,状态机在MIRACAST_STARTING状态下向Dvbmain层发送Miracast功能开启指令,Dvbmain层调用指定功能的接口向Wpa_supplicant发送Miracast功能开启指令,由Wpa_supplicant实现P2P交互并向Dvbmain层上报当前状态,状态机等待Dvbmain层返回开启结果。
以图1所述应用场景进行说明,以该智能显示设备110为智能电视,该移动终端130为智能手机,网络设备120为路由器为例,智能电视开启Miracast功能时与智能手机之间建立的通信信道,与智能电视开启WIFI网络功能时与路由器之间建立的通信信道共用同一通信信道,所以在同时开启Miracast功能和WIFI网络功能时,会导致Miracast功能卡顿或影响网络下载速度。为解决两者冲突,在开启Miracast功能时关闭WIFI网络功能,在开启WIFI网络功能时关闭Miracast功能。
本发明通过配置状态机,在接收到上层的Miracast功能开启指令时,进入相应的Miracast开启等待状态,并在相应的状态下发送WIFI网络功能关闭指令,并在WIFI网络功能关闭成功后才进入Miracast开启状态,在该状态下发送Miracast功能开启指令,实现Miracast功能的开启。
通过状态机的状态切换,在相应状态下状态机输出对应的控制指令,由状态机实现了Miracast功能和WIFI网络功能切换的逻辑处理,避免了同时开启Miracast功能和WIFI网络功能的状态。进一步的,与现有技术相比,在需要开启Miracast功能时,由于无需由应用层下发WIFI网络功能关闭,直接由下层的状态机发送WIFI网络功能关闭指令,由此减少了指令下发的流程长度,提高了功能响应速度,简化了UI层的接口调用逻辑,提高了效率和稳定性。
进一步的,在步骤S370之后,本发明实施例提供的方法还可以包括以下步骤:
在所述Miracast功能开启成功时跳转进入Miracast已开启状态;
在所述Miracast已开启状态下,向所述智能显示设备应用层反馈所述Miracast功能的开启成功消息,并等待所述Miracast功能被关闭。
需要说明的是,状态机在向Dvbmain层发送Miracast功能开启指令后,等待Dvbmain层返回开启结果。当返回的开启结果是Miracast功能开启成功时,状态机进入MIRACAST_STARTED状态(Miracast已开启状态)。状态机在MIRACAST_STARTED状态下向UI层反馈Miracast功能开启成功的消息,并等待UI层下发Miracast功能关闭指令(也就是开启WIFI网络功能指令)。
在其他实施例中,在步骤S370之后,本发明实施例提供的方法还可以包括以下步骤:
在所述Miracast功能开启失败时跳转进入Miracast开启失败状态;
在所述Miracast开启失败状态下,向所述智能显示设备应用层反馈所述Miracast功能的开启失败消息,并等待所述智能显示设备应用层下发操作指令。
需要说明的是,当Dvbmain层向状态机返回的开启结果是Miracast功能开启失败时,状态机进入MIRACAST_FAILED状态(Miracast开启失败状态),并向UI层发送错误报告(即开启失败消息),等待UI层下发操作命令。在UI继续下发Miracast功能开启指令时,继续执行步骤S310。
需要说明的是,不管Miracast功能开启成功或开启失败,状态机都会等待UI层下发Miracast功能关闭指令。即在步骤S370之后,如图6所示,本发明实施例提供的方法还可以包括以下步骤:
在步骤S391中,等待接收所述智能显示设备应用层下发的Miracast功能关闭指令,所述Miracast功能关闭指令用于触发智能显示设备中Miracast功能的关闭;
具体的,状态机在接收到Dvbmain层返回的Miracast开启结果(开启失败或开启成功)之后,等待接收UI层下发Miracast功能关闭指令。其中,Miracast功能关闭指令用于触发智能显示设备关闭Miracast功能。
在步骤S392中,根据所述Miracast功能关闭指令,触发中间件所配置的状态机跳转,进入Miracast关闭状态;
如图5所示,不管在Miracast开启失败后进入的MIRACAST_FAILED状态还是Miracast开启成功后的进入的MIRACAST_STARTED状态,状态机在接收到UI层下发关闭Miracast功能指令时,均触发状态机跳转进入MIRACAST_STOPPING状态(Miracast关闭状态)。
在步骤S393中,通过所述Miracast关闭状态下输出的Miracast功能关闭指令,调用所述中间件所配置本地方法层的接口,关闭所述智能显示设备的Miracast功能;
在步骤S394中,在所述Miracast功能被关闭时跳转进入Miracast等待恢复状态;
在步骤S395中,通过所述Miracast等待恢复状态下输出的WIFI网络功能开启指令,调用所述中间件所配置本地方法层的接口,开启所述智能显示设备的WIFI网络功能。
具体的,如图5所示,状态机在MIRACAST_STOPPING状态下向Dvbmain层发送Miracast功能关闭指令,在接收到Dvbmain层返回的Miracast功能已关闭消息后,状态机跳转进入MIRACAST_STARECOVERING状态(Miracast等待恢复状态),在该状态下状态机向Dvbmain层发送恢复WIFI网络功能的指令。由Dvbmain层调用指定接口程序将该恢复WIFI网络功能的指令发送至Wpa_supplicant,由Wpa_supplicant实现WIFI网络的连接,并上报当前运行状态。进一步的,状态机等待Dvbmain层返回恢复结果,返回结果是恢复成功时,状态机跳转回初始状态。
图7为本发明示例性实施例提供的智能显示设备的系统框架与现有Android(安卓)系统框架的对比示意图,需要说明的是,该对比示意图只是从对比Miracast功能实现的流程在两个系统中不同的位置来呈现出两个系统的层次架构。如图7所示,Android系统中各层级功能如下:
Apk(兼容)层:主要负责界面初始化,启动wifi-display sink端等,可与本发明示例性实施例中的UI层对等。
Framework(框架)层:主要包括如下模块wifi-display、WfiDisplayController(实现设备间高速传输视频控制)、WifiP2pManger(无线点对点管理)、WifiP2pService、WifiMonitor等,实现WiFi网络功能与Miracast功能管理。而本发明示例性实施例提供的智能显示设备的系统框架中做出的优化就是将该部分的实现全部放到系统的更底层Dvbmain层,并向上层提供更加精简的命令接口,减少上层命令下发的次数、逻辑处理复杂度,同时减少了与wpa_supplicant命令交互之间的层级,提高了命令的响应速度。
Wifi native(无线本地)层:主要负责实现命令封装,framework层会调用native层命令,实现对下层的控制。
Jni(JAVA本地调用)层:主要实现java和C的交互,映射Wifi native层函数调用hal层部分接口完成命令交互,消息通知等。
Hal(硬件抽象)层:主要负责完成驱动加载,对wpa_supplicant进行控制和监听等。
Wpa_supplicant:根据上层下发的命令与driver(驱动程序)交互实现WiFi网络功能的扫描、连接、802.1x认证、p2p交互等,并将当前的运行状态上报。
从图7中可以看出,UI层下发一次Miracast功能开启指令后,由BIZ层的状态机下发WIFI网络功能关闭指令和Miracast功能开启指令至下层的Wpa_supplicant,无需从UI层下发指令,简化了UI层的接口调用逻辑,并且减少了与Wpa_supplicant之间交互的层级设置,减少了上层下发命令的次数和逻辑处理复杂度,提高了智能显示设备对命令的响应速度。
下述为本发明装置实施例,可以用于执行本发明上述智能显示设备110执行的控制智能显示设备无线显示的方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明控制智能显示设备无线显示的方法实施例。
图8是根据一示例性实施例示出的一种控制智能显示设备无线显示的装置的框图,该控制智能显示设备无线显示的装置可以用于图1所示实施环境的智能显示设备110中,执行图3、图6任一所示的控制智能显示设备无线显示的方法的全部或者部分步骤。如图8所示,该控制智能显示设备无线显示的装置包括但不限于:开启等待触发模块810、WIFI网络关闭模块830、显示开启触发模块850和Miracast开启模块870;
其中,开启等待触发模块810,用于根据接收的智能显示设备应用层下发的Miracast功能开启指令,触发中间件所配置的状态机跳转进入Miracast开启等待状态;所述Miracast功能开启指令用于触发智能显示设备中Miracast功能的开启;
WIFI网络关闭模块830,用于通过所述Miracast开启等待状态下输出的WIFI网络功能关闭指令,调用所述中间件所配置本地方法层的接口,关闭所述智能显示设备的WIFI网络功能;
显示开启触发模块850,用于在所述WIFI网络功能被关闭时跳转进入Miracast开启状态;
Miracast开启模块870,用于通过所述Miracast开启状态下输出的Miracast功能开启指令,调用所述中间件所配置本地方法层的接口,开启所述智能显示设备的Miracast功能。
上述装置中各个模块的功能和作用的实现过程具体详见上述控制智能显示设备Miracast的方法中对应步骤的实现过程,在此不再赘述。
开启等待触发模块810比如可以是图2中的某一个传感器组件214。
WIFI网络关闭模块830、显示开启触发模块850和Miracast开启模块870也可以是功能模块,用于执行上述控制智能显示设备无线显示的方法中的对应步骤。可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的处理器218所执行的存储在存储器204中的程序。
可选的,在上述示例性实施例提供的控制智能显示设备无线显示的装置的基础上,本发明示例性实施例提供的所述装置还可以包括但不限于:
显示触发模块,用于在所述Miracast功能开启成功时跳转进入Miracast已开启状态;
成功反馈模块,用于在所述Miracast已开启状态下,向所述智能显示设备应用层反馈所述Miracast功能的开启成功消息,并等待所述Miracast功能被关闭。
在其他实施例中,在上述示例性实施例提供的控制智能显示设备Miracast的装置的基础上,本发明提供的所述装置还可以包括但不限于:
失败触发模块,用于在所述Miracast功能开启失败时跳转进入Miracast开启失败状态;
失败反馈模块,用于在所述Miracast开启失败状态下,向所述智能显示设备应用层反馈所述Miracast功能的开启失败消息,并等待所述智能显示设备应用层下发操作指令。
在上述示例性实施例提供的控制智能显示设备无线显示的基础上,如图9所示,所述装置还可以包括但不限于:
关闭指令接收模块910,用于等待接收所述智能显示设备应用层下发的Miracast功能关闭指令,所述Miracast功能关闭指令用于触发智能显示设备中Miracast功能的关闭;
显示关闭触发模块930,用于根据所述Miracast功能关闭指令,触发中间件所配置状态机跳转,进入Miracast关闭状态;
Miracast关闭模块950,用于通过所述Miracast关闭状态下输出的Miracast功能关闭指令,调用所述中间件所配置本地方法层的接口,关闭所述智能显示设备的Miracast功能;
等待恢复触发模块970,用于在所述Miracast功能被关闭时跳转进入Miracast等待恢复状态;
WIFI网络开启模块990,用于通过所述Miracast等待恢复状态下输出的WIFI网络功能开启指令,调用所述中间件所配置本地方法层的接口,开启所述智能显示设备的WIFI网络功能。
可选的,所述WIFI网络关闭模块830可以包括但不限于:
关闭指令下发单元,用于向所述中间件所配置的本地方法层下发所述Miracast开启等待状态下输出的WIFI网络功能关闭指令;
关闭结果接收单元,用于接收本地方法层通过调用指定接口程序下发的所述WIFI网络功能关闭指令后返回的WIFI网络功能关闭结果。
可选的,本发明还提供一种控制智能显示设备无线显示的装置,该控制智能显示设备无线显示的装置可以用于图1所示实施环境的智能显示设备110中,执行图3、图6任一所示的控制智能显示设备无线显示的方法的全部或者部分步骤。所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行:
根据接收的智能显示设备应用层下发的Miracast功能开启指令,触发中间件所配置的状态机跳转进入Miracast开启等待状态;所述Miracast功能开启指令用于触发智能显示设备中Miracast功能的开启;
通过所述Miracast开启等待状态下输出的WIFI网络功能关闭指令,调用所述中间件所配置本地方法层的接口,关闭所述智能显示设备的WIFI网络功能;
在所述WIFI网络功能被关闭时跳转进入Miracast开启状态;
通过所述Miracast开启状态下输出的Miracast功能开启指令,调用所述中间件所配置本地方法层的接口,开启所述智能显示设备的Miracast功能。
该实施例中的装置的处理器执行操作的具体方式已经在有关该控制智能显示设备无线显示的方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介质例如包括指令的存储器204,上述指令可由装置200的处理器218执行以完成上述控制智能显示设备无线显示的方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。