投影仪控制的制作方法

文档序号:16530060发布日期:2019-01-05 10:40阅读:198来源:国知局
投影仪控制的制作方法

作为电视、个人计算机(pc)和手机之外的“第四屏幕”,具有强大显示能力的投影仪被认为在工作和娱乐等场景下具有巨大发展前景。传统的投影仪通常没有搭载智能操作系统,导致其所能够实现的功能非常有限。例如,传统投影仪仅能够通过不同的接口将来自计算机、视频播放器、游戏机等的视频信号投射到幕布上。

当前,已经开发出搭载有智能操作系统并且具有独立用户界面的智能投影仪。这些智能投影仪通常基于开放式操作系统来开发,导致其与pc中常用的办公应用不能很好地兼容,并且可能存在安全隐患。此外,在这些智能投影仪的实现中,用于控制投影仪的应用通常直接访问投影仪的底层硬件模块(例如,硬件驱动)。因此,投影仪制造商通常需要针对不同应用场景和/或不同硬件平台开发用于控制投影仪的不同应用。



技术实现要素:

发明人认识到,实现基于通用操作系统平台的智能投影仪控制通常面临以下问题和挑战:如何使投影仪制造商以对硬件平台透明的方式来开发用于控制投影仪的应用,使得同一应用能够运行在不同硬件平台上;以及如何使应用能够自行确定其操作模式,使得该应用能够自动适应不同应用场景(例如,本地控制和远程控制)。

据此,本公开的实现提出了用于控制投影仪的方法、设备和计算机程序产品。根据该方法,用于控制投影仪的应用可以被启动。该应用可以通过确定当前的宿主设备是投影仪还是用于控制投影仪的终端设备来确定操作模式。一旦确定该应用的操作模式,该方法可以基于该操作模式并且经由运行在投影仪上的应用服务来控制该投影仪。应用服务可以提供用于控制投影仪的设备驱动的接口。

提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实现中将被进一步描述。发明内容部分无意标识所要求保护的主题的关键特征或主要特征,也无意限制所要求保护的主题的范围。

附图说明

图1示出了能够在其中实施本公开的实现的系统100的框图;

图2a-2b示出了根据本公开的实现的经由处于不同操作模式的应用对投影仪进行控制的示例性过程的示意图;

图3示出了根据本公开的实现的投影仪的示例性架构300的示意图;

图4示出了根据本公开的实现的用于控制投影仪的示例方法400的流程图;

图5示出了根据本公开的实现的用于确定操作模式的方法500的流程图;

图6示出了根据本公开的实现的基于操作模式来控制投影仪的方法600的流程图;

图7示出了根据本公开的实现的基于操作模式来控制投影仪的方法700的流程图;

图8示出了根据本公开的实现的用于控制投影仪的示例方法800的流程图;

图9示出了根据本公开的实现的基于操作模式来控制投影仪的方法900的流程图;

图10示出了根据本公开的实现的基于操作模式来控制投影仪的方法1000的流程图;以及

图11示出了其中可以实施本公开的一个或多个实现的示例计算系统/服务器的框图。

在附图中,相同或相似的参考符号被用于指示相同或相似的元素。

具体实施例

现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本主题的范围的任何限制。

如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。除非另外地明确指出,术语的定义贯穿说明书是一致的。

如以上所描述的,已经开发出搭载有智能操作系统并且具有独立用户界面的智能投影仪。这些智能投影仪通常基于开放式智能操作系统来开发,导致其与pc中常用的办公应用不能很好地兼容,并且可能存在安全隐患。此外,在这些智能投影仪的实现中,用于控制投影仪的应用通常直接访问投影仪的底层硬件模块。因此,投影仪制造商通常需要针对不同应用场景和/或不同硬件平台开发用于控制投影仪的不同应用。

根据本公开的示例实现,提出了一种用于实现基于通用操作系统平台的智能投影仪控制方案。利用该方案,投影仪制造商能够以对硬件平台透明的方式来开发用于控制投影仪的应用,使得同一应用能够运行在不同硬件平台上。此外,该方案使得应用能够自行确定其操作模式,以自动适应诸如本地控制和远程控制的不同应用场景。因此,利用该方案,投影仪制造商能够方便地实现基于例如通用windows平台(universalwindowsplatform,uwp)的智能投影仪,其与pc中常用的办公应用能够很好地兼容并且具有较好的安全性,从而为用户提供更好的操作体验。注意,为了方便起见,下文可能参考uwp来描述本公开的若干示例实施例。但是应当理解,这仅仅是示例性的而无意以任何方式限制本公开的范围。

图1示出了能够在其中实施本公开的实现的投影仪控制系统100的框图。如图1所示,系统100可以包括投影仪110和终端设备120。要理解的是,仅出于示例性的目的描述系统100的结构和功能而不是暗示对于本公开的范围的任何限制。本公开可以被体现在不同的结构和/或功能中。

在此所述的“终端设备”可以是用户设备(ue),也可以是具有有线或者无线通信功能的任何终端,包括但不限于,手机、计算机、个人数字助理、游戏机、可穿戴设备、车载通信设备、以及传感器等。

在一些实现中,投影仪110可以与终端设备120经由诸如蓝牙或者其他任何有线或无线通信协议而通信地耦合。终端设备120可以提供对投影仪110的远程控制。例如,在一些实现中,用户130可以直接控制投影仪110以输出投影显示140(也称为“本地控制”场景)。在另一些实现中,用户130也可以通过控制终端设备120来间接地控制投影仪110以输出投影显示140(也称为“远程控制”场景)。

如图1所示,在一些实现中,投影仪110可以包括应用111-1、应用服务112和硬件驱动113等模块。在一些实现中,例如在本地控制场景下,用户130可以通过操作应用111-1来直接控制投影仪110以输出投影显示140。在一些实现中,应用111-1例如可以包括用于与应用服务112交互的应用服务扩展模块(图1中未示出)。例如,应用服务扩展模块可以向应用111-1提供用于操作投影仪的统一接口,而应用服务112可以向应用服务扩展模块提供访问硬件驱动113的接口。也即,应用111-1可以经由应用服务112来访问硬件驱动113。以此方式,能够实现应用111-1与硬件驱动113的松耦合,也即同一应用能够运行在不同的硬件平台上。

在一些实现中,投影仪110可以部署有诸如uwp的智能操作系统(图1中未示出)。例如,利用uwp,应用111-1能够容易地动态调节其用户界面大小、分辨率以及其他参数。此外,操作系统可以提供例如办公应用(例如,microsoftoffice办公套件)、语音助理(例如,cortana)等应用支持。例如,利用uwp,用户130可以利用语音命令来对应用111-1进行操作从而控制投影仪110以输出投影显示140。

在一些实现中,应用111-1和应用服务112可以工作在操作系统的用户模式(也称为“用户态”)下,而硬件驱动113可以工作在操作系统的内核模式(也称为“内核态”)下。例如,应用服务112可以是运行在用户态下的进程,并且可以提供对运行在内核态下的硬件驱动113的接口。此外,在一些实现中,应用服务112也可以提供对于由操作系统提供的办公应用、语音助理等的接口。例如,应用服务112可以代表操作系统来访问内核态下的硬件驱动113。在下文中将结合图3来对投影仪110的系统架构进行进一步的详细说明。

如图1所示,终端设备120可以包括应用111-2。在一些实现中,例如在远程控制模式下,用户130可以通过操作应用111-2来间接地控制投影仪110。应用111-2与应用111-1是同一应用的实例。在以下描述中,将应用111-1和应用111-2统称为“应用111”。例如,终端设备120也可以部署有与投影仪110相同的智能操作系统(诸如,uwp)。在此情况下,不同于在传统方案中需要针对不同硬件平台和/或设备开发不同的应用,同一应用可以分别被部署在例如投影仪110和终端设备120上,以自适应地实现对投影仪110的本地控制和/或远程控制。在一些实现中,如以下将进一步详细描述的,应用111-2也与应用111-1类似地经由应用服务112来访问硬件驱动113。例如,应用111-2也可以包括用于与应用服务112交互的应用服务扩展模块(图1中未示出)。在一些实现中,应用111-2中的应用服务扩展模块可以向应用111-2提供用于操作投影仪的统一接口,并且可以经由例如有线和/或无线通信协议与应用服务112交互。

在一些实现中,应用111(例如,应用111-2和/或应用111-1)可以通过确定当前的宿主设备是投影仪110还是终端设备120来自动地确定其操作模式,并且基于所确定的操作模式来实现对投影仪110的本地控制和/或远程控制。例如,应用111可以通过检测应用服务112是否存在来确定当前的宿主设备是投影仪110还是终端设备120。在一些实现中,应用111-1可以通过检测到应用服务112与应用111-1运行在同一设备上而确定当前的宿主设备是投影仪110,而应用111-2可以通过检测到应用服务112与应用111-2运行在不同的设备上而确定当前的宿主设备是终端设备120。

在一些实现中,应用111-1可以通过确定宿主设备是投影仪110而确定其操作模式为针对投影仪的第一操作模式,而应用111-2可以通过确定宿主设备是终端设备120而确定其操作模式为针对终端设备的第二操作模式。应用111-1和应用111-2可以经由应用服务112来自适应地实现对投影仪110的本地控制和/或远程控制。此外,在对投影仪110进行本地控制和/或远程控制时,应用111-1和应用111-2的状态(例如,与应用相关联的状态数据、用户界面显示等)可以被自动地同步。

图2a示出了根据本公开的实现的经由处于第一操作模式的应用111-1对投影仪110进行本地控制的过程210。如图2a所示,响应于用户130对应用111-1的操作,应用111-1可以向应用服务112发送(211)用于控制投影仪110的第一命令。应用服务112可以基于第一命令通过访问硬件驱动113来使投影仪110输出与用户操作相对应的投影显示140。应用111-1可以从应用服务112接收(212)针对第一命令的响应。然后,应用111-1可以向应用111-2发送(213)用于在应用111-1和应用111-2之间同步状态的第二命令。例如,应用111-2可以基于第二命令来更新其自身的状态(例如,与应用相关联的状态数据、用户界面显示等)。以此方式,部署在不同设备上的用于控制投影仪的同一应用的不同实例能够保持状态同步。

图2b示出了根据本公开的实现的经由处于第二操作模式的应用111-2对投影仪110进行远程控制的过程220。如图2b所示,响应于用户130对应用111-2的操作,应用111-2可以向应用111-1发送(221)用于控制投影仪110的第三命令。相应地,应用111-1可以基于第三命令向应用服务112发送(222)用于控制投影仪110的第四命令。应用服务112可以基于第四命令通过访问硬件驱动113来使投影仪110输出与用户操作相对应的投影显示140。应用111-1可以从应用服务112接收(223)针对第四命令的响应。然后,应用111-1可以向应用111-2发送(224)用于在应用111-1和应用111-2之间同步状态的第五命令。例如,应用111-2可以基于第五命令来更新其自身的状态(例如,与应用相关联的状态数据、用户界面显示等)。以此方式,部署在不同设备上的用于控制投影仪的同一应用的不同实例能够保持状态同步。

图3示出了根据本公开的实现的投影仪110的示例性架构300的示意图。在一些实现中,架构300可以被视为投影仪110的一种示例实现。如图3所示,架构300包括应用310,其可以被实现为如图1所示的应用111-1。应当理解,如图1所示的应用111-2与应用111-1是相同应用在不同设备上的实例。也即,在一些实现中,如图3所示的应用310也可以被视为应用111-2的一种示例实现。此外,架构300还包括应用服务320和硬件驱动330,它们可以被分别实现为如图1所示的应用服务112和硬件驱动113。要理解的是,仅出于示例性的目的描述架构300的结构和功能而不是暗示对于本公开的范围的任何限制。本公开可以被体现在不同的结构和/或功能中。另外,架构300中所包括的这些模块中的部分或者全部可由软件、硬件、固件和/或其组合来实现。

在一些实现中,应用310可以包括用户界面模块311和应用服务扩展模块312。用户界面模块311例如可以用于呈现应用310的用户界面,使得用户能够经由所呈现的用户界面进行操作。应用服务扩展模块312例如可以向用户界面模块311提供用于操作投影仪的统一接口。如图3所示,例如应用服务扩展模块312可以包括设备抽象层313、远程控制器314、工作模式控制器315以及通信模块316等子模块。其中,设备抽象层313可以用于向用户界面模块311提供投影仪控制接口,例如包括但不限于开机、关机、亮度控制、内容自适应照度控制、音量调节等接口。远程控制器314例如可以用于实现对远程应用实例(例如,如图1所示的应用111-2)的连接、通信和控制等。工作模式控制器315例如可以通过确定当前的宿主设备是投影仪还是远程终端设备来自动地确定应用310的操作模式。通信模块316例如可以实现与应用服务320的通信等。

在一些实现中,应用服务320例如可以包括命令处理模块321、通信模块322、操作系统接口模块323、设备访问模块324等。命令处理模块321例如可以用于处理来自应用310的命令,并且根据命令经由设备访问模块324对硬件驱动330进行访问。通信模块322例如可以实现与应用310的通信等。操作系统接口模块323例如可以提供对于由操作系统提供的办公应用、语音助理等的接口。设备访问模块324例如可以实现对设备驱动330的访问。

图4示出了根据本公开的实现的用于控制投影仪的示例方法400的流程图。在一些实现中,该方法400例如可以在如图1所示的投影仪110处被执行。为描述方便,下面结合如图1所示的系统100对方法400进行描述。应当理解的是,方法400还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。

在框410处,部署在投影仪110上的操作系统被启动。例如,该操作系统可以是诸如uwp的智能操作系统。在一些实现中,操作系统可以响应于投影仪110的开机而被自动地加载和启动。在另一些实现中,例如在操作系统被启动之后,硬件驱动113可以被加载并运行在操作系统的内核态下。

在框420处,应用服务112在操作系统上可以被启动。在一些实现中,应用服务112例如可以运行在操作系统的用户态下,并且提供用于控制投影仪110的硬件驱动的接口。在另一些实现中,应用服务112例如还可以提供对于由操作系统提供的诸如办公应用、语音助理等的接口。

在框430处,用于控制投影仪110的应用111-1被启动。在一些实现中,应用111-1可以通过确定当前的宿主设备是投影仪110还是用于控制投影仪110的终端设备120来确定其操作模式。例如,图5示出了根据本公开的实现的用于确定操作模式的方法500的流程图。方法500可以由应用111-1来执行。

如图5所示,在框510,应用111-1可以确定应用服务112是否与应用111-1运行在同一设备上(也即,应用服务112是否存在)。如果应用服务112存在,则在框520,应用111-1的操作模式可以被确定为针对投影仪的第一操作模式。否则,在框530,应用111-1的操作模式可以被确定为针对终端设备的第二操作模式。由于应用服务112与应用111-1运行在同一设备上,因此应用111-1的操作模式可以被确定为针对投影仪的第一操作模式。

返回到图4,方法400进行至框440处,其中基于应用111-1的操作模式并且经由应用服务112来控制投影仪110。

图6示出了根据本公开的一些实现的基于操作模式来控制投影仪的方法600的流程图。该方法600针对本地控制的场景,也即,用户通过对应用111-1进行操作来控制投影仪110。在一些实现中,方法600可以作为如图4所示的框440的一种示例实现。

如图6所示,在框610,响应于用户对应用111-1的输入,应用111-1向应用服务112发送用于控制投影仪110的第一命令。例如,应用服务112可以基于第一命令通过访问硬件驱动113来使投影仪110输出与用户输入相对应的投影显示140。此外,应用服务112可以向应用111-1返回针对第一命令的响应。

在框620,响应于从应用服务112接收到针对第一命令的响应,应用111-1可以向应用111-2发送用于在应用111-1和应用111-2之间同步状态的第二命令。例如,应用111-2可以基于第二命令来更新其自身的状态(例如,与应用相关联的状态数据、用户界面显示等)。

图7示出了根据本公开的另一些实现的基于操作模式来控制投影仪的方法700的流程图。该方法700针对远程控制的场景,也即,用户通过对应用111-2进行操作来控制投影仪110。在一些实现中,方法700可以作为如图4所示的框440的一种示例实现。

如图7所示,在框710,响应于用户对应用111-2的输入,应用111-1从应用111-2接收用于控制投影仪110的第三命令。

在框720,应用111-1基于第三命令向应用服务112发送用于控制投影仪110的第四命令。例如,应用服务112可以基于第四命令通过访问硬件驱动113来使投影仪110输出与用户输入相对应的投影显示140。此外,应用服务112可以向应用111-1返回针对第三命令的响应。

在框730,应用111-1响应于从应用服务112接收到针对第四命令的响应,向应用111-2发送用于在应用111-1和应用111-2之间同步状态的第五命令。例如,应用111-2可以基于第五命令来更新其自身的状态(例如,与应用相关联的状态数据、用户界面显示等)。

图8示出了根据本公开的实现的用于控制投影仪的示例方法800的流程图。在一些实现中,该方法800例如可以在如图1所示的终端设备120处被执行。为描述方便,下面结合如图1所示的系统100对方法800进行描述。应当理解的是,方法800还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。

在框810处,用于控制投影仪110的应用111-2被启动。在一些实现中,应用111-2可以通过确定当前的宿主设备是投影仪110还是用于控制投影仪110的终端设备120来确定其操作模式。在一些实现中,应用111-2可以执行如图5所示的方法500来确定其操作模式。例如,由于应用服务112与应用111-2运行在不同设备上(也即,应用111-2检测到应用服务112在当前设备上不存在),因此应用111-2的操作模式可以被确定为针对终端设备的第二操作模式。

在框820处,基于应用111-2的操作模式并且经由应用服务112来控制投影仪110。

图9示出了根据本公开的一些实现的基于操作模式来控制投影仪的方法900的流程图。该方法900针对本地控制的场景,也即,用户通过对应用111-1进行操作来控制投影仪110。在一些实现中,方法900可以作为如图8所示的框820的一种示例实现。

如图9所示,在框910处,响应于用户对应用111-1的输入,应用111-2可以从应用111-1接收用于在应用111-1和应用111-2之间同步状态的第六命令。例如,应用111-1可以响应于用户对应用111-1的输入,经由应用服务112访问硬件驱动113来使投影仪110输出与用户输入相对应的投影显示140。当接收到应用服务112的响应时,应用111-1可以向应用111-2发送该第六命令。

在框920处,应用111-2基于第六命令来更新其自身的状态(例如,与应用相关联的状态数据、用户界面显示等)。

图10示出了根据本公开的另一些实现的基于操作模式来控制投影仪的方法1000的流程图。该方法1000针对远程控制的场景,也即,用户通过对应用111-2进行操作来控制投影仪110。在一些实现中,方法1000可以作为如图8所示的框820的一种示例实现。

在框1010处,响应于用户对应用111-2的输入,应用111-2向应用111-1发送用于控制投影仪的第七命令。例如,应用111-1可以基于第七命令,经由应用服务112访问硬件驱动113来使投影仪110输出与用户输入相对应的投影显示140。当接收到应用服务112的响应时,应用111-1可以向应用111-2发送用于在应用111-1和应用111-2之间同步状态的第八命令。

在框1020处,响应于从应用111-1接收到该第八命令,应用111-2基于第八命令来更新其自身的状态(例如,与应用相关联的状态数据、用户界面显示等)。

从以上描述可以看出,利用根据本公开的实现的投影仪控制方案,投影仪制造商能够以对硬件平台透明的方式来开发用于控制投影仪的应用,使得同一应用能够运行在不同硬件平台上。此外,该方案使得应用能够自行确定其操作模式,以自动适应诸如本地控制和远程控制的不同应用场景。因此,利用该方案,投影仪制造商能够方便地实现基于例如uwp的智能投影仪,其与pc中常用的办公应用能够很好地兼容并且具有较好的安全性,从而为用户提供更好的操作体验。

图11示出了其中可以实施本公开的一个或多个实现的示例计算系统/服务器1100的框图。例如,在一些实现中,如图1所示的投影仪110和/或终端设备120可以由计算系统/服务器1100实现。图11示出的计算系统/服务器1100仅是示例,其不应当构成对本文所描述的实现的使用的功能和范围的限制。

如图11所示,计算系统/服务器1100是通用计算设备的形式。计算系统/服务器1100的组件可以包括但不限于一个或多个处理器或处理单元1100、存储器1120、一个或多个输入设备1130、一个或多个输出设备1140、存储装置1150和一个或多个通信单元1160。处理单元1100可以是实际或虚拟处理器并且能够根据存储器1120中存储的持续来执行各种处理。在多处理系统中,多处理单元执行计算机可执行指令,以增加处理能力。

计算系统/服务器1100通常包括多个计算机介质。这样的介质可以是计算系统/服务器1100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储装置750可以是可拆卸或不可拆卸,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息并且可以在计算系统/服务器1100内被访问。

计算系统/服务器1100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性计算机系统存储介质。尽管未在图11中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线。

存储器1120可以包括至少一个程序产品,其具有(例如至少一个)程序模块集合,这些程序模块被配置为执行本文所描述的各种实现的功能。例如,当投影仪110和/或终端设备120中的一个或多个模块被实现为软件模块时,其可以被存储在存储器1120中。当这些模块由处理单元1100访问和运行时,可以实现在此描述的功能和/或方法,例如方法400、500、600、700、800、900和/或1000。

输入单元1130可以是一个或多个各种输入设备。例如,输入单元1139可以包括用户设备、诸如鼠标、键盘、追踪球等。通信单元1160实现在通信介质上向另外的计算实体进行通信。附加地,计算系统/服务器1100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接来通信。因此,计算系统/服务器1100可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。例如但不限于,通信介质包括有线或无线联网技术。

计算系统/服务器1100还可以根据需要与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等等,与一个或多个使得用户与计算系统/服务器1100交互的设备进行通信,或者与使得计算系统/服务器1100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。

本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

以下列出了本公开的一些示例实现。

在第一方面中,提供了一种计算机实现的设备。该设备包括处理单元和存储器。存储器被耦合到处理单元并且存储用于由该处理单元执行的指令。该指令当由处理单元执行时,使得该设备执行动作,该动作包括:启动用于控制投影仪的第一应用,该第一应用通过确定当前的宿主设备是投影仪还是用于控制投影仪的终端设备来确定操作模式;以及基于操作模式并且经由运行在投影仪上的应用服务来控制该投影仪,应用服务提供用于控制该投影仪的设备驱动的接口。

在一些实现中,第一应用包括用于与应用服务交互的应用服务扩展模块,并且应用服务扩展模块向应用提供用于操作投影仪的统一接口。

在一些实现中,动作还包括:在宿主设备是投影仪的情况下,在启动第一应用之前,启动部署在投影仪上的操作系统;以及在操作系统上启动应用服务,该应用服务还提供对于由操作系统提供的办公应用和语音助理中的至少一项的接口。

在一些实现中,应用服务工作在操作系统的用户模式下,并且设备驱动工作在操作系统的内核模式下。

在一些实现中,控制投影仪包括:响应于操作模式被确定为针对投影仪的第一操作模式,根据用户输入并且经由第一应用,向应用服务发送用于控制投影仪的第一命令;以及响应于从应用服务接收到针对第一命令的响应,向第二应用发送用于在第一应用和第二应用之间同步状态的第二命令,第二应用运行在终端设备上。

在一些实现中,控制投影仪还包括:经由第一应用从第二应用接收用于控制投影仪的第三命令;基于第三命令,向应用服务发送用于控制投影仪的第四命令;以及响应于从应用服务接收到针对第四命令的响应,向第二应用发送用于在第一应用和第二应用之间同步状态的第五命令。

在一些实现中,控制投影仪包括:响应于操作模式被确定为针对终端设备的第二操作模式,根据用户输入并且经由第一应用,从第三应用接收用于在第一应用和第三应用之间同步状态的第六命令,第三应用运行在投影仪上;以及基于第六命令,更新第一应用的状态。

在一些实现中,控制投影仪还包括:经由第一应用向第三应用发送用于控制投影仪的第七命令;以及响应于从第三应用接收到用于在第一应用和第三应用之间同步状态的第八命令,更新第一应用的状态。

在一些实现中,第一应用、第二应用和第三应用是相同应用的实例。

在第二方面中,提供了一种计算机实现的方法。该方法包括:启动用于控制投影仪的第一应用,该第一应用通过确定当前的宿主设备是投影仪还是用于控制投影仪的终端设备来确定操作模式;以及基于操作模式并且经由运行在投影仪上的应用服务来控制该投影仪,应用服务提供用于控制该投影仪的设备驱动的接口。

在一些实现中,第一应用包括用于与应用服务交互的应用服务扩展模块,并且应用服务扩展模块向应用提供用于操作投影仪的统一接口。

在一些实现中,该方法还包括:在宿主设备是投影仪的情况下,在启动第一应用之前,启动部署在投影仪上的操作系统;以及在操作系统上启动应用服务,该应用服务还提供对于由操作系统提供的办公应用和语音助理中的至少一项的接口。

在一些实现中,应用服务工作在操作系统的用户模式下,并且设备驱动工作在操作系统的内核模式下。

在一些实现中,控制投影仪包括:响应于操作模式被确定为针对投影仪的第一操作模式,根据用户输入并且经由第一应用,向应用服务发送用于控制投影仪的第一命令;以及响应于从应用服务接收到针对第一命令的响应,向第二应用发送用于在第一应用和第二应用之间同步状态的第二命令,第二应用运行在终端设备上。

在一些实现中,控制投影仪还包括:经由第一应用从第二应用接收用于控制投影仪的第三命令;基于第三命令,向应用服务发送用于控制投影仪的第四命令;以及响应于从应用服务接收到针对第四命令的响应,向第二应用发送用于在第一应用和第二应用之间同步状态的第五命令。

在一些实现中,控制投影仪包括:响应于操作模式被确定为针对终端设备的第二操作模式,根据用户输入并且经由第一应用,从第三应用接收用于在第一应用和第三应用之间同步状态的第六命令,第三应用运行在投影仪上;以及基于第六命令,更新第一应用的状态。

在一些实现中,控制投影仪还包括:经由第一应用向第三应用发送用于控制投影仪的第七命令;以及响应于从第三应用接收到用于在第一应用和第三应用之间同步状态的第八命令,更新第一应用的状态。

在一些实现中,第一应用、第二应用和第三应用是相同应用的实例。

在第三方面中,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,该机器可执行指令在由设备执行时使该设备执行根据第二方面所述的方法的动作。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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