一种应用的语音控制方法和装置与流程

文档序号:12179699阅读:399来源:国知局
本发明涉及计算机
技术领域
,具体涉及一种应用的语音控制方法和装置。
背景技术
:随着智能终端技术的发展,人们的工作生活越来越多地依赖智能终端(手机、PAD等)上的各类应用(APP)。如邮件应用、即时通讯应用(微信、QQ等)、搜索引擎应用、电子地图应用。为了进一步方便用户,目前很多应用都在开发语音控制功能。目前的语音控制功能的实现,一般是对语音进行语义解析,根据解析后语义执行相应的操作。这种方式严重依赖于语义解析的精确程度,且语义解析出错时会出现误操作。技术实现要素:鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用的语音控制方法和装置。依据本发明的一个方面,提供了一种应用的语音控制方法,该方法包括由安卓系统中的辅助服务执行的如下步骤:接收应用发送的语音控制协议,从所述语音控制协议中解析出一条或多条协议内容并保存到映射表中;每条协议内容至少包括:匹配的语音、对应的执行信息和作为被执行对象的控件信息之间的映射关系;当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息;根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作。可选地,所述接收应用发送的语音控制协议包括:接收应用中的视图发送的语音控制协议。可选地,所述作为被执行对象的控件信息包括:视图信息和视图中的指定控件的可操作区域信息。可选地,所述根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作包括:根据视图信息确定屏幕上的该视图对应的区域,进一步在该视图对应的区域中确定指定控件的可操作区域,在该可操作区域中执行相应的操作。可选地,所述对应的执行信息包括:指定执行动作和相应的动作参数;以及,指定执行动作之前执行的动作和相应的动作参数,和/或,指定执行动作之后执行的动作和相应的动作参数。可选地,所述从所述语音控制协议中解析出一条或多条协议内容并保存到映射表中包括:向安卓分析工具发送协议解析请求,由所述安卓分析工具根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中。可选地,接收不同的应用发送的语音控制协议;每条协议内容还包括:应用的标识信息;当接收到关于应用的语音时,根据该应用的标识信息以及语音从映射表中查找出对应的执行信息和控件信息。依据本发明的另一个方面,还提供了一种应用的语音控制装置,该装置配置于安卓系统中的辅助服务中,该装置包括:协议解析单元,适于接收应用发送的语音控制协议,从所述语音控制协议中解析出一条或多条协议内容并保存到映射表中;每条协议内容至少包括:匹配的语音、对应的执行信息和作为被执行对象的控件信息之间的映射关系;查表单元,适于当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息;控制执行单元,适于根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作。可选地,所述协议解析单元,适于接收应用中的视图发送的语音控制协议。可选地,所述作为被执行对象的控件信息包括:视图信息和视图中的指定控件的可操作区域信息。可选地,所述控制执行单元,适于根据视图信息确定屏幕上的该视图对应的区域,进一步在该视图对应的区域中确定指定控件的可操作区域,在该可操作区域中执行相应的操作。可选地,所述对应的执行信息包括:指定执行动作和相应的动作参数;以及,指定执行动作之前执行的动作和相应的动作参数,和/或,指定执行动作之后执行的动作和相应的动作参数。可选地,所述协议解析单元,适于向安卓分析工具发送协议解析请求,由所述安卓分析工具根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中。可选地,所述协议解析单元,适于接收不同的应用发送的语音控制协议;每条协议内容还包括:应用的标识信息;所述查表单元,适于当接收到关于应用的语音时,根据该应用的标识信息以及语音从映射表中查找出对应的执行信息和控件信息。本发明中,这种由安卓系统中的辅助服务接收应用发送的语音控制协议,根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中,当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息,根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作的技术方案中,由于预先在匹配的语音和作为被执行对象的控件之间做了映射,并对应保存了执行信息,因此在接收到语音后,将收到的语音与预先保存的语音进行匹配,如果存在匹配项则也确定了被执行对象要执行的操作,无需进行语义解析,大大提高了应用的语音控制效率和正确率。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本发明实施例中的一种应用的语音控制方法的流程图;图2示出了本发明实施例中的在安卓系统中实现应用的语音控制的流程图;以及图3示出了本发明实施例中的一种应用的语音控制装置的结构图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了本发明实施例中的一种应用的语音控制方法的流程图。如图1所示,该方法包括由安卓系统中的辅助服务执行的如下步骤:步骤S110,接收应用发送的语音控制协议,根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中;每条协议内容至少包括:匹配的语音、对应的执行信息和作为被执行对象的控件信息之间的映射关系。步骤S120,当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息。步骤S130,根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作。安卓系统中的辅助服务,即AccessibilityService。利用AccessibilityService可以获取手机当前页面的信息,用户的操作事件等等。本发明实施例中的正是利用AccessibilityService的这种特点创造性地发明了图1所示的方法。图1所示的方法中,由于预先在匹配的语音和作为被执行对象的控件之间做了映射,并对应保存了执行信息,因此在接收到语音后,将收到的语音与预先保存的语音进行匹配,如果存在匹配项则也确定了被执行对象要执行的操作,无需进行语义解析,大大提高了应用的语音控制效率和正确率。在本发明的一个实施例中,步骤S110中所述接收应用发送的语音控制协议包括:接收应用中的视图发送的语音控制协议。这里,视图即View。View类是Android的一个超类,这个类几乎包含了所有的屏幕类型。每一个View都有一个用于绘图的画布,这个画布可以进行任意扩展。例如在游戏开发中也可以自定义视图(View),这个画布的功能更能满足我们在游戏开发中的需要。在Android中,任何一个View类都只需重写onDraw方法来实现界面显示,自定义的视图可以是复杂的3D实现,也可以是非常简单的文本形式等。在本发明的实施例中,在View中定义语音控制协议,并由View将所定义的语音控制协议发送给辅助服务AccessibilityService。辅助服务接收到View发送的语音控制协议后进行解析,分离出其中的一条或多条协议内容,并进一步分离出每条协议内容中语音、执行信息和控件信息,建立对应的映射关系并保存到映射表中。在本发明的一个实施例中,所述作为被执行对象的控件信息包括:视图信息和视图中的指定控件的可操作区域信息。其中视图信息即为发送语音控制协议的View的信息;视图中的指定控件的可操作区域信息,即为控件本身在View的画布中的位置信息。则在本发明的一个实施例中,步骤S130中的根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作包括:根据视图信息确定屏幕上的该视图对应的区域,进一步在该视图对应的区域中确定指定控件的可操作区域,在该可操作区域中执行相应的操作。例如,对于音乐播放应用的播放界面上的暂停键来说,首选确定其所属的View在屏幕中的区域,进一步该区域中确定暂停键的位置。在本发明的一个实施例中,每条协议内容中的所述对应的执行信息包括:指定执行动作和相应的动作参数;以及,指定执行动作之前执行的动作和相应的动作参数,和/或,指定执行动作之后执行的动作和相应的动作参数。指定的执行动作,可以为点击、滑动、暂停、放大、缩小等。相应的工作参数时关于执行动作时的尺度参数,如滑动多长距离,缩小多少尺寸等。指定执行动作之前或之后执行的动作,是指在指定执行动作之前后之后还执行的其他动作。例如,在执行暂停操作后滑动进度条。在本发明的一个实施例中,步骤S110中所述从所述语音控制协议中解析出一条或多条协议内容并保存到映射表中包括:向安卓分析工具Analyzer发送协议解析请求,由所述安卓分析工具Analyzer根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中。在本发明的实施例中,图1所示的方法中:接收不同的应用发送的语音控制协议;每条协议内容还包括:应用的标识信息;当接收到关于应用的语音时,根据该应用的标识信息以及语音从映射表中查找出对应的执行信息和控件信息。这样可以为智能终端上的不同的应用提供统一的语音控制功能。各应用无需分别各自集成语音控制SDK,即可实现语音控制命令的执行。图2示出了本发明实施例中的在安卓系统中实现应用的语音控制的流程图。如图2所示,对于一个应用的页面,在该页面的View中定义语音控制协议。例如该协议如表1所示协议头vc:pathmatch_voiceactionaction_paramspre_actionpre_action_paramspost_actionpost_action_params表1在表1中,“path”为页面路径;“match_voice”为匹配的语音;“action”为指定的执行动作,“action_params”是执行的执行动作的参数,“pre_action”是action之前执行的动作,“pre_action_params”是pre_action需要的参数,“post_action”是action之后执行的动作,“post_action_params”是post_action需要的参数。如图2所示View将语音控制协议信息发送给辅助服务,辅助服务请求Analyzer解析语音控制协议。Analyzer根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中;每条协议内容至少包括:匹配的语音、对应的执行信息和作为被执行对象的控件信息之间的映射关系。当辅助服务收到关于该应用的用户语音输入时,从Analyzer端的映射表中的查找出和语音绑定的控件信息和对应的执行信息。辅助服务向View返回相应的执行命令,实现对相应控件的操作。在本发明的一个实施例中,可以在View的视图的上下文描述属性ContentDescription中的设置所述语音控制协议的内容。辅助服务可以通过解析页面中的View的ContentDescription属性获取该页面的语音控制协议。图3示出了本发明实施例中的一种应用的语音控制装置的结构图。应用的语音控制装置300配置于安卓系统中的辅助服务中,如图3所示,该应用的语音控制装置300包括:协议解析单元301,适于接收应用发送的语音控制协议,根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中;每条协议内容至少包括:匹配的语音、对应的执行信息和作为被执行对象的控件信息之间的映射关系。查表单元302,适于当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息。控制执行单元303,适于根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作。图3所示的装置中,由于协议解析单元301预先在匹配的语音和作为被执行对象的控件之间做了映射,并对应保存了执行信息,因此在接收到语音后,将收到的语音与预先保存的语音进行匹配,如果存在匹配项则也确定了被执行对象要执行的操作,无需进行语义解析,大大提高了应用的语音控制效率的正确率。在本发明的一个实施例中,图3所示装置中的协议解析单元301,适于接收应用中的视图发送的语音控制协议。这里,视图即View。View类是Android的一个超类,这个类几乎包含了所有的屏幕类型。在本发明的一个实施例中,在图3所示装置中,所述作为被执行对象的控件信息包括:视图信息和视图中的指定控件的可操作区域信息。其中视图信息即为发送语音控制协议的View的信息;视图中的指定控件的可操作区域信息,即为控件本身在View的画布中的位置信息。则在本发明的一个实施例中,控制执行单元303,适于根据视图信息确定屏幕上的该视图对应的区域,进一步在该视图对应的区域中确定指定控件的可操作区域,在该可操作区域中执行相应的操作。例如,对于音乐播放应用的播放界面上的暂停键来说,首选确定其所属的View在屏幕中的区域,进一步该区域中确定暂停键的位置。在本发明的一个实施例中,在图3所示装置中,所述对应的执行信息包括:指定执行动作和相应的动作参数;以及,指定执行动作之前执行的动作和相应的动作参数,和/或,指定执行动作之后执行的动作和相应的动作参数。例如,一种语音控制协议的格式图前述的表1所示。指定的执行动作,可以为点击、滑动、暂停、放大、缩小等。相应的工作参数时关于执行动作时的尺度参数,如滑动多长距离,缩小多少尺寸等。指定执行动作之前或之后执行的动作,是指在指定执行动作之前后之后还执行的其他动作。例如,在执行暂停操作后滑动进度条。在本发明的一个实施例中,图3所示装置中的协议解析单元301,适于向安卓分析工具发送协议解析请求,由所述安卓分析工具Analyzer根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中。在本发明的一个实施例中,图3所示装置中的协议解析单元301,适于接收不同的应用发送的语音控制协议.每条协议内容还包括:应用的标识信息;所述查表单元302,适于当接收到关于应用的语音时,根据该应用的标识信息以及语音从映射表中查找出对应的执行信息和控件信息。这样可以为智能终端上的不同的应用提供统一的语音控制功能。各应用无需分别各自集成语音控制SDK,即可实现语音控制命令的执行。在本发明的一个实施例中,可以在View的视图的上下文描述属性ContentDescription中的设置所述语音控制协议的内容。协议解析单元301可以通过解析页面中的View的ContentDescription属性获取该页面的语音控制协议。综上所述,本发明这种由安卓系统中的辅助服务接收应用发送的语音控制协议,根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中,当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息,根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作的技术方案中,由于预先在匹配的语音和作为被执行对象的控件之间做了映射,并对应保存了执行信息,因此在接收到语音后,将收到的语音与预先保存的语音进行匹配,如果存在匹配项则也确定了被执行对象要执行的操作,无需进行语义解析,大大提高了应用的语音控制效率和正确率。需要说明的是:在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种应用的语音控制装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。本发明公开了A1、一种应用的语音控制方法,其中,该方法包括由安卓系统中的辅助服务执行的如下步骤:接收应用发送的语音控制协议,从所述语音控制协议中解析出一条或多条协议内容并保存到映射表中;每条协议内容至少包括:匹配的语音、对应的执行信息和作为被执行对象的控件信息之间的映射关系;当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息;根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作。A2、如A1所述的方法,其中,所述接收应用发送的语音控制协议包括:接收应用中的视图发送的语音控制协议。A3、如A1所述的方法,其中,所述作为被执行对象的控件信息包括:视图信息和视图中的指定控件的可操作区域信息。A4、如A3所述的方法,其中,所述根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作包括:根据视图信息确定屏幕上的该视图对应的区域,进一步在该视图对应的区域中确定指定控件的可操作区域,在该可操作区域中执行相应的操作。A5、如A1所述的方法,其中,所述对应的执行信息包括:指定执行动作和相应的动作参数;以及,指定执行动作之前执行的动作和相应的动作参数,和/或,指定执行动作之后执行的动作和相应的动作参数。A6、如A1所述的方法,其中,所述从所述语音控制协议中解析出一条或多条协议内容并保存到映射表中包括:向安卓分析工具发送协议解析请求,由所述安卓分析工具根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中。A7、如A1-A6中任一项所述的方法,其中,接收不同的应用发送的语音控制协议;每条协议内容还包括:应用的标识信息;当接收到关于应用的语音时,根据该应用的标识信息以及语音从映射表中查找出对应的执行信息和控件信息。本发明还公开了B8、一种应用的语音控制装置,其中,该装置配置于安卓系统中的辅助服务中,该装置包括:协议解析单元,适于接收应用发送的语音控制协议,从所述语音控制协议中解析出一条或多条协议内容并保存到映射表中;每条协议内容至少包括:匹配的语音、对应的执行信息和作为被执行对象的控件信息之间的映射关系;查表单元,适于当接收到关于所述应用的语音时,根据映射表查找出对应的执行信息和控件信息;控制执行单元,适于根据所述执行信息和作为被执行对象的控件信息,对所述应用的相应控件执行相应的操作。B9、如B8所述的装置,其中,所述协议解析单元,适于接收应用中的视图发送的语音控制协议。B10、如B8所述的装置,其中,所述作为被执行对象的控件信息包括:视图信息和视图中的指定控件的可操作区域信息。B11、如B10所述的装置,其中,所述控制执行单元,适于根据视图信息确定屏幕上的该视图对应的区域,进一步在该视图对应的区域中确定指定控件的可操作区域,在该可操作区域中执行相应的操作。B12、如B8所述的装置,其中,所述对应的执行信息包括:指定执行动作和相应的动作参数;以及,指定执行动作之前执行的动作和相应的动作参数,和/或,指定执行动作之后执行的动作和相应的动作参数。B13、如B8所述的装置,其中,所述协议解析单元,适于向安卓分析工具发送协议解析请求,由所述安卓分析工具根据所述语音控制协议中解析出一条或多条协议内容并保存到映射表中。B14、如B8-B13中任一项所述的装置,其中,所述协议解析单元,适于接收不同的应用发送的语音控制协议;每条协议内容还包括:应用的标识信息;所述查表单元,适于当接收到关于应用的语音时,根据该应用的标识信息以及语音从映射表中查找出对应的执行信息和控件信息。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1