一种双向互动方法及系统与流程

文档序号:17926153发布日期:2019-06-15 00:25阅读:323来源:国知局
一种双向互动方法及系统与流程

本发明涉及投屏技术领域,具体涉及一种双向互动方法及系统。



背景技术:

目前,越来越多的用户喜欢使用双屏进行交互,通过在两个设备之间连接一根type-c连接线,利用usbtype-c接口支持的usbtype-c替换协议(usbtype-calternativemode协议)来实现,然而有一些设备并没有安装type-c接口如一些早期设备上安装的microusb接口,或者一些设备即使安装有type-c接口,其可能并不支持usbtype-calternativemode协议,从而无法实现不支持usbtype-calternativemode协议的设备间的数据交互,进而无法实现双屏互动,为用户带来了不便。



技术实现要素:

有鉴于此,本发明实施例提供了一种双向互动方法及系统,解决了现有投屏技术中不支持usbtype-calternativemode协议的usb接口不能双向传输数据的问题,提高了用户体验。

根据本发明实施例的第一方面,提供一种双向互动方法,包括:触控显示器监听连接消息,连接消息用于判断触控显示器的usb接口是否有设备连接;当监听到usb接口有设备连接时,触控显示器创建与设备之间的usb链路;触控显示器通过usb链路与设备进行参数的交换,使得所述触控显示器和所述设备中的发送端根据接收端的所述参数处理数据;以及触控显示器与设备进行数据的双向传输。

在本发明的一个实施例中,上述数据包括音频数据、视频数据或触控数据。

在本发明的一个实施例中,上述参数包括音频编解码参数,在触控显示器通过usb链路与设备进行参数的交换之后,还包括:触控显示器通过usb链路发送自身蓝牙配置参数至设备,以协助设备配置蓝牙,并创建与设备之间的蓝牙链路,上述触控显示器与设备进行数据的双向传输,包括:触控显示器通过蓝牙链路与设备进行音频数据的双向传输。

在本发明的一个实施例中,参数包括视频编解码参数。上述触控显示器与设备进行数据的双向传输,包括:触控显示器通过usb链路与设备进行视频数据的双向传输。

在本发明的一个实施例中,上述触控显示器通过usb链路与设备进行视频数据的双向传输,包括:触控显示器利用设备发送的视频编解码参数,初始化mediacodec类;通过创建virtualdisplay类来获取视频数据;通过mediacodec类对视频数据进行压缩编码,并通过usb链路传输至设备;以及设备调用mediacodec类对视频数据进行解码,并通过surfaceview类显示视频数据。

在本发明的一个实施例中,上述参数包括触控参数。上述触控显示器与设备进行数据的双向传输,包括:触控显示器利用触控参数创建hidmultitouch设备;以及触控显示器利用hidmultitouch设备并通过usb链路发送触控数据至设备。

在本发明的一个实施例中,上述触控显示器利用hidmultitouch设备并通过usb链路发送触控数据至设备,包括:触控显示器通过在surfaceview上注册的事件监听器获取触控数据;以及触控显示器利用hidmultitouch设备将触控数据以hidreport的格式编码后通过usb链路发送至设备。

在本发明的一个实施例中,上述连接消息包括:action_usb_device_attached意图消息。

根据本发明实施例的第二方面,提供一种双向互动系统,包括:监听模块,用于监听连接消息,连接消息用于判断触控显示器的usb接口是否有设备连接;创建模块,用于当监听到usb接口有设备连接时,创建与设备之间的usb链路;接收发送模块,用于通过usb链路与设备进行参数的交换,使得所述触控显示器和所述设备中的发送端根据接收端的所述参数处理数据;以及传输模块,用于与设备进行数据的双向传输。

根据本发明实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上所述的双向互动方法。

根据本发明实施例提供的技术方案,通过触控显示器监听连接消息;当监听到usb接口有设备连接时,触控显示器创建与设备之间的usb链路,并通过usb链路与设备进行参数的交换,使得触控显示器和设备中的发送端根据接收端的参数处理数据,以满足接收端的数据格式要求,从而实现触控显示器与设备之间数据的双向传输,解决了投屏过程中不支持usbtype-calternativemode协议的usb接口不能双向传输数据的问题,提高了用户体验。

附图说明

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

图1所示为本发明一实施例提供的双向互动方法的流程示意图。

图2所示为本发明另一实施例提供的双向互动方法的流程示意图。

图3所示为本发明另一实施例提供的双向互动方法的流程示意图。

图4所示为本发明另一实施例提供的双向互动方法的流程示意图。

图5所示为本发明一实施例提供的双向互动系统的框图。

图6所示为本发明另一实施例提供的双向互动系统的框图。

具体实施方式

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

图1所示为本发明一实施例提供的双向互动方法的流程示意图。该方法可以由计算机设备(例如,触控显示器)执行。如图1所示,该方法包括如下内容。

s110:触控显示器监听连接消息。

连接消息用于判断触控显示器的usb接口是否有设备连接,该设备包括但不限于移动终端,例如手机,平板电脑等。例如,对于安卓系统,该连接消息可以是action_usb_device_attached意图(intent)消息。本发明的实施例并不限于此,对于不同操作系统,该连接消息可以是用于实现类似功能的消息。当然,该连接消息也可以是用于实现类似功能的专用消息。

s120:当监听到usb接口有设备连接时,触控显示器创建与设备之间的usb链路。

usb接口可以是usbtype-a接口、usbtype-b接口或usbtype-c接口,本发明对此不作限定。具体地,当设备通过usb接口连接手机时,触控显示器可以监听到此次连接,并利用usbmanager类创建与设备之间的usb链路。

s130:触控显示器通过usb链路与设备进行参数的交换。

触控显示器与设备进行参数交换,可以使触控显示器与设备中的发送端根据接收端的相关参数进行数据处理,以满足接收端的数据格式要求,从而可以实现触控显示器与设备之间数据的双向传输。具体地,触控显示器创建并打开usb链路的同时,设备可以收到触控显示器发送的action_usb_accessory_attachedintent消息,并与触控显示器相互交换需要的参数,为数据传输做好准备。应当理解,参数可以包括音视频编解码参数、触控参数或蓝牙配置参数等,数据可以包括音频数据、视频数据或触控数据等,本发明对此不作具体限定。

例如,触控显示器作为发送端,设备作为接收端,触控显示器与设备通过usb链路交换音视频编解码参数后,触控显示器根据设备的音视频编解码参数对音视频数据进行编码,便于设备接收音视频数据后做进一步处理。

s140:触控显示器与设备进行数据的双向传输。

触控显示器和设备分别利用接收到的参数对数据进行处理,并发送至接收端。应当理解,可以通过usb链路、蓝牙链路等方式进行数据传输,本发明对数据传输方式不作限定。例如可以通过usb链路传输视频数据和触控数据,通过蓝牙链路传输音频数据等,本发明对此不作限定。

根据本发明实施例提供的技术方案,通过触控显示器监听连接消息;当监听到usb接口有设备连接时,触控显示器创建与设备之间的usb链路,并通过usb链路与设备进行参数的交换,使得触控显示器和设备中的发送端根据接收端的参数处理数据,以满足接收端的数据格式要求,从而实现触控显示器与设备之间数据的双向传输,解决了投屏过程中不支持usbtype-calternativemode协议的usb接口不能双向传输数据的问题,多种型号的usb接口均可以实现双向传输数据,提高了用户体验。

图2所示为本发明另一实施例提供的双向互动方法的流程示意图。该方法可以由计算机设备(例如,触控显示器)执行。如图2所示,该方法包括如下内容。

s210:触控显示器监听连接消息。

s220:当监听到usb接口有移动终端连接时,触控显示器创建与移动终端之间的usb链路。

s230:触控显示器通过usb链路与移动终端进行音频编解码参数的交换。

s240:触控显示器通过usb链路发送自身蓝牙配置参数至移动终端,以协助移动终端配置蓝牙,并创建与移动终端之间的蓝牙链路。

具体地,触控显示器和移动终端通过usb链路交换音频编解码参数之后,触控显示器还通过usb链路发送自身蓝牙配置参数至移动终端,以协助移动终端配置蓝牙,移动终端蓝牙配置完毕后,蓝牙链路便创建完成。

s250:触控显示器通过蓝牙链路与移动终端进行音频数据的双向传输。

具体地,触控显示器和移动终端中的发送端根据接收端的音频编解码参数对音频数据进行编码,通过蓝牙传输至接收端播放。当启动接收端麦克风时,音频数据可以通过蓝牙麦克风回传至发送端。

根据本发明实施例提供的技术方案,通过监听连接消息;当监听到usb接口有移动终端连接时,触控显示器创建与移动终端之间的usb链路,并通过usb链路与移动终端进行音频编解码参数的交换;创建与移动终端之间的蓝牙链路,并通过蓝牙链路与移动终端进行音频数据的双向传输,可以实现双屏乃至多屏幕之间的音频互播,提高了用户体验。另外,通过修改安卓系统的audioflinger和audioframework可以支持audiosink和audiosource功能,避免了现有投屏技术不具有audiosource功能的弊端。

图3所示为本发明另一实施例提供的双向互动方法的流程示意图。该方法可以由计算机设备(例如,触控显示器)执行。如图3所示,该方法包括如下内容。

s310:触控显示器监听连接消息。

s320:当监听到usb接口有移动终端连接时,触控显示器创建与移动终端之间的usb链路。

s330:触控显示器通过usb链路与移动终端进行视频编解码参数的交换。

s340:触控显示器利用移动终端发送的视频编解码参数,初始化mediacodec类;通过创建virtualdisplay类来获取视频数据;通过mediacodec类对视频数据进行压缩编码。

具体地,可以通过安卓系统的mediaprojectionapi接口获取视频数据。首先通过activity自带的getsystemservice()方法获取mediaprojectionmanager类的实例,并通过mediaprojectionmanager类获取mediaprojection实例;其次,通过mediaprojection实例创建virtualdisplay实例,调用createsurface()方法创建surface对象并传入virtualdisplay类来获取当前物理屏幕的数据。

s350:触控显示器通过usb链路传输视频数据至移动终端。

s360:移动终端调用mediacodec类对视频数据进行解码,并通过surfaceview类显示视频数据。

根据本发明实施例提供的技术方案,通过监听连接消息;当监听到usb接口有移动终端连接时,触控显示器创建与移动终端之间的usb链路,并通过usb链路与移动终端进行视频编解码参数的交换;触控显示器利用移动终端发送的视频编解码参数,初始化mediacodec类,通过创建virtualdisplay类来获取视频数据,通过mediacodec类对视频数据进行压缩编码,并通过usb链路传输视频数据至移动终端,可以令所有型号的移动终端均实现视频互投,避免了只有支持usbtype-calternativemode协议的typec接口的移动终端才可以视频双向传输的弊端,使触控显示器可匹配的移动终端机型更丰富,同时提高了视频投射质量和用户体验。

在本发明的另一个实施例中,移动终端可以利用触控显示器发送的视频编解码参数,初始化mediacodec类;通过创建virtualdisplay类来获取视频数据;通过mediacodec类对视频数据进行压缩编码,并通过usb链路传输至触控显示器;以及触控显示器调用mediacodec类对视频数据进行解码,并通过surfaceview类显示视频数据。

图4所示为本发明另一实施例提供的双向互动方法的流程示意图。该方法可以由计算机设备(例如,触控显示器)执行。如图4所示,该方法包括如下内容。

s410:触控显示器监听连接消息。

s420:当监听到usb接口有移动终端连接时,触控显示器创建与移动终端之间的usb链路。

s430:触控显示器通过usb链路与移动终端进行触控参数的交换。

s440:触控显示器利用触控参数创建hidmultitouch设备。

具体地,结合移动终端和触控显示器的触控参数,触控显示器构造hidreportdescriptor并通过usb链路发送至移动终端,完成hid设备声明。

s450:触控显示器通过在surfaceview上注册的事件监听器获取触控数据。

具体地,在surfaceview控件上注册view.ontouchlistener()实例,通过ontouch()函数捕捉到触控事件,从而提取出触控数据。触控数据包括触控点数、坐标和时间戳等,本发明对此不作限定。

s460:触控显示器通过hidmultitouch设备将触控数据以hidreport的格式编码后通过usb链路发送至移动终端。

具体地,根据触控参数,将触控数据封装成hidreport并通过usb链路传输至移动终端。

根据本发明实施例提供的技术方案,通过监听连接消息;当监听到usb接口有移动终端连接时,触控显示器创建与移动终端之间的usb链路,并通过usb链路与移动终端进行触控参数的交换;触控显示器利用触控参数创建hidmultitouch设备,在surfaceview上注册的事件监听器获取触控数据,并通过hidmultitouch设备将触控数据以hidreport的格式编码后通过usb链路发送至移动终端,可以通过软件模拟hidmultitouch设备来实现触控反控,多种型号的usb接口均可以实现触控数据的双向传输,进而实现双屏乃至多屏幕的双向互动,提高用户体验。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图5所示为本发明一实施例提供的双向互动系统的框图。如图5所示,该双向互动系统500包括:

监听模块510,用于监听连接消息,连接消息用于判断触控显示器的usb接口是否有设备连接;

创建模块520,用于当监听到usb接口有设备连接时,创建与设备之间的usb链路;

接收发送模块530,用于通过usb链路与设备进行参数的交换,使得触控显示器和设备中的发送端根据接收端的参数处理数据。

传输模块540,用于与设备进行数据的双向传输。

根据本发明实施例提供的技术方案,通过触控显示器监听连接消息;当监听到usb接口有设备连接时,触控显示器创建与设备之间的usb链路,并通过usb链路与设备进行参数的交换,使得触控显示器和设备中的发送端根据接收端的参数处理数据,以满足接收端的数据格式要求,从而实现触控显示器与设备之间数据的双向传输,解决了投屏过程中不支持usbtype-calternativemode协议的usb接口不能双向传输数据的问题,多种型号的usb接口均可以实现双向传输数据,提高了用户体验。

在本发明的另一个实施例中,上述数据包括音频数据、视频数据或触控数据。

在本发明的另一个实施例中,上述参数包括音频编解码参数,接收发送模块530还用于通过usb链路发送自身蓝牙配置参数至设备,以协助设备配置蓝牙,创建模块520还用于创建与设备之间的蓝牙链路,传输模块540还用于通过蓝牙链路与设备进行音频数据的双向传输。

在本发明的另一个实施例中,上述参数包括视频编解码参数,传输模块540还用于通过usb链路与设备进行视频数据的双向传输。

在本发明的另一个实施例中,上述双向互动系统还包括初始化模块550,用于利用设备发送的视频编解码参数,初始化mediacodec类,创建模块520还用于通过创建virtualdisplay类来获取视频数据;编解码模块560,用于通过mediacodec类对视频数据进行压缩编码,传输模块540还用于通过usb链路传输视频数据至设备。

在本发明的另一个实施例中,上述参数包括触控参数,创建模块520还用于利用触控参数创建hidmultitouch设备;接收发送模块530用于利用hidmultitouch设备并通过usb链路发送触控数据至设备。

在本发明的另一个实施例中,上述双向互动系统还包括获取模块570,用于通过在surfaceview上注册的事件监听器获取触控数据;接收发送模块530还用于利用hidmultitouch设备将触控数据以hidreport的格式编码后通过usb链路发送至设备。

在本发明的另一个实施例中,连接消息包括action_usb_device_attached意图消息。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

图6所示为本发明另一实施例提供的双向互动系统600的框图。

参照图6,系统600包括处理组件610,其进一步包括一个或多个处理器,以及由存储器620所代表的存储器资源,用于存储可由处理组件610的执行的指令,例如应用程序。存储器620中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件610被配置为执行指令,以执行上述双向互动方法。

系统600还可以包括一个电源组件被配置为执行系统600的电源管理,一个有线或无线网络接口被配置为将系统600连接到网络,和一个输入输出(i/o)接口。系统600可以操作基于存储在存储器620的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

一种非临时性计算机可读存储介质,当存储介质中的指令由上述系统600的处理器执行时,使得上述系统600能够执行一种双向互动方法,包括:触控显示器监听连接消息,连接消息用于判断触控显示器的usb接口是否有设备连接;当监听到usb接口有设备连接时,触控显示器创建与设备之间的usb链路;触控显示器通过usb链路与设备进行参数的交换,使得触控显示器和设备中的发送端根据接收端的参数处理数据;触控显示器与设备进行数据的双向传输。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序校验码的介质。

另外,还需要说明的是,本案中各技术特征的组合方式并不限本案权利要求中所记载的组合方式或是具体实施例所记载的组合方式,本案所记载的所有技术特征可以以任何方式进行自由组合或结合,除非相互之间产生矛盾。

需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。

以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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