一种语音控制方法、装置及手机

文档序号:1710319 发布日期:2019-12-13 浏览:12次 >En<

阅读说明:本技术 一种语音控制方法、装置及手机 (Voice control method and device and mobile phone ) 是由 姜绍宇 宋亮 李凯 于 2018-06-05 设计创作,主要内容包括:本申请提供了一种语音控制方法、装置及手机,包括:获取包含控制指令的语音,解析所述语音中包含的控制指令;获取与所述控制指令相匹配控件的预置识别码;获取终端当前操作界面的屏幕信息,判断是否从所述屏幕信息中找到与所述预置识别码相同的控件;若从所述屏幕信息中找到与所述预置识别码相同的控件,则模拟点击所述控件;若未能从所述屏幕信息中找到与所述预置识别码相同的控件,根据所述用户操作过程中所点击控件的识别码更新所述预置识别码。本申请提供的语音控制方法、装置及手机,当控件的text或ID等识别码发生变化时,实现了本地预置识别码的自主更新,解决因控件的text或ID等识别码发生变化而产生无法完成模拟点击的问题。(the application provides a voice control method, a voice control device and a mobile phone, wherein the voice control method comprises the following steps: acquiring voice containing a control instruction, and analyzing the control instruction contained in the voice; acquiring a preset identification code of a control matched with the control instruction; acquiring screen information of a current operation interface of the terminal, and judging whether a control identical to the preset identification code is found from the screen information; if finding out the control which is the same as the preset identification code from the screen information, simulating to click the control; and if the control which is the same as the preset identification code cannot be found from the screen information, updating the preset identification code according to the identification code of the control clicked in the user operation process. According to the voice control method, the voice control device and the mobile phone, when the identification codes such as the text or the ID of the control change, the self-updating of the local preset identification codes is achieved, and the problem that simulated clicking cannot be completed due to the change of the identification codes such as the text or the ID of the control is solved.)

一种语音控制方法、装置及手机

技术领域

本申请涉及移动通讯技术领域,尤其涉及一种语音控制方法、装置及手机。

背景技术

目前随着语音识别技术的发展,基于语音识别功能的手机语音控制越来越受到手机用户的青睐。手机语音控制是指用户通过语音控制模拟人的操作,从而代替按键、触摸等操作手机,可用于解放用户的双手,更加便于手机的使用。

现有的手机语音控制,需要将代表控件属性的text或ID等识别码预先设置到智能语音数据库中,text为控件的值,ID为标识控件的唯一标识符,text或ID等识别码用于相应控件的唯一识别。在使用的时候,接收用户的输入语音,解析所述语音获得所述语音中的控制指令,根据所述控制指令查找所述智能语音数据库,获取与所述控制指令相匹配的控件的text或ID等识别码,根据所述获取到的text或ID等识别码在当前屏幕中查找相应的控件,模拟点击,完成语音控制。如,用户输入语音“给张三发微信说明天一块开会”,接收所述语音,解析所述语音获得“打开微信,找到联系人张三,输入‘明天一起开会’并发送”等的控制指令,当发送时,根据发送控制指令查找并获取智能语音数据库中关于发送的text或ID,根据获取到的text或ID查找当前屏幕中与所述text或ID相同的控件,模拟点击所述控件,执行发送。

然而,随着应用软件的升级,控件的text或ID等识别码可能会发生变化。若控件的text或ID等识别码发生变化,当根据获取到的控制指令查找智能语音数据库中相应控件的text或ID等识别码时,由于智能语音数据库中保存的是预先设置变化前的控件的text或ID等识别码。因此当根据获取到的控件的text或ID等识别码去查找当前屏幕中的控件时,将无法找到与变化前的控件的text或ID等识别码相配的控件,无法完成模拟点击,使语音控制不能进一步执行。

发明内容

本申请提供了一种语音控制方法、装置及手机,当控件的text或ID等识别码发生变化时,实现自主更新所述控件的text或ID等识别码,解决因控件的text或ID等识别码发生变化而产生无法完成模拟点击的问题。

第一方面,本申请提供了一种语音控制方法,所述方法包括:

获取包含控制指令的语音,解析所述语音中包含的控制指令;

根据所述控制指令,获取与所述控制指令相匹配控件的预置识别码;

获取终端当前操作界面的屏幕信息,根据所述预置识别码查找所述屏幕信息;

判断是否从所述屏幕信息中找到与所述预置识别码相同的控件;

若从所述屏幕信息中找到与所述预置识别码相同的控件,则模拟点击所述控件;

若未能从所述屏幕信息中找到与所述预置识别码相同的控件,则获取用户手动操作过程中所点击控件的识别码,根据所述用户操作过程中所点击控件的识别码更新所述预置识别码。

第二方面,本申请还提供了一种语音控制装置,所述控制装置包括处理器和存储器;

所述存储器,用于存储程序代码;

所述处理器,用于读取所述存储器中存储的程序代码,并作为具体部件执行上述所述的语音控制方法。

第三方面,本申请还提供了一种手机,所述手机包括语音控制装置,所述语音控制装置为上述所述的语音控制装置。

本申请提供的一种语音控制方法、装置及手机,用于实现终端的语音控制。具体的:根据解析出的控制指令获取与所述控制指令相匹配控件的预置识别码,获取终端当前操作界面的屏幕信息,在所述屏幕信息中查找与所述预置识别码相同的控件,若能查找到与预置识别码相同的控件,则模拟点击所述控件;若是未能查找到与预置识别码相同的控件,通过获取用户手动操作过程中所点击控件的识别码,并根据其更新所述预置识别码。因此,本申请提供的语音控制方法,当控件的识别码发生变化时,实现了本地预置识别码的自主更新,解决因控件的识别码发生变化而产生无法完成模拟点击的问题。本申请提供的语音控制方法,实现语音控制的自学习,可以有效自主扩展所需要控件的识别码。

本申请提供的语音控制装置,用于语音控制方法的具体执行。本申请提供的语音控制装置可用于智能手机、电视等终端设备。

附图说明

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

图1为本申请实施例一提供的语音控制方法的结构流程图;

图2为本申请实施例二提供的语音控制方法的结构流程图;

图3为本申请实施例提供的语音控制方法的使用状态图;

图4为本申请实施例提供的语音控制装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在建立智能语音数据库时,将当时能获取到的控件的text或ID等识别码预先设置到所述智能语音数据库中。若***作的控件后期更新了其text或ID等识别码,就会导致智能语音控制该控件操作功能的失效,为便于语音识别使用,通常定期更新智能语音数据库,如更新控件的text或ID等识别码。且智能语音数据库的更新主要通过运营商,终端需要升级才能不断适配新的应用,运营商的更新的周期往往相对较长且时间不定,较容易导致语音控制不能正常执行。

附图1为本申请实施例一提供的一种语音控制方法的流程图。如附图1所示,本申请实施例一提供的语音控制方法,包括:

S100:获取包含控制指令的语音,解析所述语音中包含的控制指令。

启动语音控制后,获取用户给予的包含控制指令的语音。其中,语音控制通过接收启动信号进行启动,启动信号可通过长按终端设备某个物理键产生,物理键如手机的Home键。当接收到用户给予的包含控制指令的语音后,解析所述语音获得所述语音中包含的控制指令。解析语音中包含的控制指令,通常是结合智能语音库截取所接收语音中的关键词并进行关键词的拼接。

S200:根据所述控制指令,获取与所述控制指令相匹配控件的预置识别码。

在解析获取到的语音后获得控制指令,根据所述控制指令查找智能语音数据库,与智能语音数据库中预置了识别码的控件进行匹配,获得与所述控制指令相匹配控件的预置识别码。其中,所述识别码为text或ID等代表控件属性的特征值。

S300:获取终端当前操作界面的屏幕信息,根据所述预置识别码查找所述屏幕信息。

读取终端当前操作界面,获取终端当前操作界面的屏幕信息。在本申请具体实施方式中,基于辅助功能获取终端当前操作界面的屏幕信息。从获得的当前操作界面的屏幕信息查找预置识别码,即从当前操作界面的屏幕信息中查找与所述预置识别码相匹配的控件。

辅助功能(Accessbility),是Android官方推出帮助身体不便或者操作不灵活的人来辅助操作手机应用的。本申请中通过辅助功能获取终端当前操作界面的屏幕信息,具体可通过调用Accessbility提供的接口,获取当前操作界面的屏幕信息。如:

调用getRootInActiveWindow获取当前的操作界面的屏幕信息

AccessibilityNodeInfo nodeInfo=getRootInActiveWindow();

这个NodeInfo就是一个当前屏幕信息的一个合集类。

当前操作界面的屏幕信息包括界面上的文字、图片、控件Text、ID、Clickable等均为控件的属性。Text为控件的值;ID为用于标识控件的唯一标识符,Clickable表示该控件是否可点击,当Clickable为false时,表示不能点击。

S400:判断是否从所述屏幕信息中找到与所述预置识别码相同的控件。

从获取到的终端当前操作界面的屏幕信息中查找与所述控制指令相匹配控件的预置识别码,判断是否从所述屏幕信息中找到与所述预置识别码相同的控件。如,从获取到的终端当前操作界面的屏幕信息中查找与所述控制指令相匹配控件的预置text或预置ID,判断是否从所述屏幕信息中找到与所述预置text或预置ID相同的控件

具体的,根据与所述控制指令相匹配控件的预置text或ID,调用辅助功能的公开接口,查找前操作界面的屏幕信息中与所述预置text或ID相匹配的控件,在查找后返回查找列表。查找列表为根据获得的预置text或ID查找前操作界面的屏幕信息生成的表格。当查找到与所述预置text或ID相匹配的控件时,返回的查找列表不为空,当未查找到与所述预置text或ID相匹配的控件时,返回的查找列表为空。判断返回的查找列表是否为空,即可获知是否从所述屏幕信息中找到与所述预置text或ID相同的控件。

以查找text为“发送”的控件为例:

List<AccessibilityNodeInfo>list=nodeInfo

.findAccessibilityNodeInfosByText("发送")

以查找ID为“aac”的控件为例:

List<AccessibilityNodeInfo>content=nodeInfo2

.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/aac")

当从所述屏幕信息中找到与所述预置text或ID相同的控件时,执行步骤S401;当未从所述屏幕信息中找到与所述预置text或ID相同的控件时,执行步骤S402。

S401:若从所述屏幕信息中找到与所述预置识别码相同的控件,则模拟点击所述控件。

当从所述屏幕信息中找到与所述识别码相同的控件时,模拟点击从屏幕信息中找到的控件,即完成语音控制。

如,当从所述屏幕信息中找到与所述预置text或预置ID相同的控件时,模拟点击从屏幕信息中找到的控件,即完成语音控制。

模拟点击过程如下:

n.performAction(AccessibilityNodeInfo.ACTION_CLICK)

n代表通过text或者id查找到出来的List<AccessibilityNodeInfo>对象

S402:若未能从所述屏幕信息中找到与所述预置识别码相同的控件,则获取用户手动操作过程中所点击控件的识别码,根据所述用户操作过程中所点击控件的识别码更新所述预置识别码。

如,当未从所述屏幕信息中找到与所述预置text或预置ID相同的控件时,即控件的text或ID发生了变化,不再是预先设置在智能语音数据库中的text或ID。如此,将不能继续执行模拟点击实现语音控制,为能继续执行操作控制,需要用户进行手动操作。

当用户采用手动操作进行继续执行时,获取用户手动操作过程中所点击控件的text或ID,根据所述用户操作过程中所点击控件的text或ID更新所述预置text或预置ID,实现语音控制的自学习。如此,通过语音控制的自学习,实现本地预置text或预置ID的更新。当后续再遇到相同语音的控制指令时,将会从本地智能语音数据库中更新后控件的text或ID,将能够根据更新后的控件的text或ID从当前操作界面的屏幕信息找到与所述预置text或ID相同的控件,可进行控件模拟点击,将不会出现因为控件的预置text或ID发生变化而导致无法模拟点击现象的发生。

例如,用户输入语音“给张三发微信说明天一块开会”,接收所述语音,解析所述语音获得“打开微信,找到联系人张三,输入‘明天一起开会’并发送”等的控制指令,如此根据控制指令依次执行打开微信——找到联系人张三——输入“明天一起开会”——发送。假如,控件“发送”的ID发送变化,如控件“发送”预先设置到智能语音数据库的ID为“[204,187][104,361]”,变化后的控件“发送”的ID为“[216,187][104,257]”。如此,当执行“发送”的时候,先从智能语音数据库查找出与发送控制命令相匹配控件“发送”的ID,即获得“发送[204,187][104,361]”,在当前操作界面的屏幕信息中查找“发送[204,187][104,361]”,因为控件“发送”的ID已变化为“[216,187][104,257]”,所以无法查找到“发送[204,187][104,361]”,因而无法模拟点击控件“发送”。当用户采用手动操作继续执行点击“发送”,获取用户所点击的“发送[216,187][104,257]”,根据用户所点击的“发送[216,187][104,257]”更新预置的“发送[204,187][104,361]”,即“发送[216,187][104,257]”替换“发送[204,187][104,361],完成控件“发送”ID的更新,实现语音操作的自学习。当后续再遇到相同语音的“发送”控制指令时,先从智能语音数据库查找出与发送控制命令相匹配控件“发送[216,187][104,257]”,在当前操作界面的屏幕信息中可查找到“发送[216,187][104,257]”,模拟点击从屏幕信息中找到的控件“发送[216,187][104,257]”,即完成语音控制。

本申请实施例提供的语音控制方法,根据解析出的控制指令获取与所述控制指令相匹配控件的预置识别码,获取终端当前操作界面的屏幕信息,在所述屏幕信息中查找与所述预置识别码相同的控件,若能查找到与预置识别码相同的控件,则模拟点击所述控件;若是未能查找到与预置识别码相同的控件,通过获取用户手动操作过程中所点击控件的识别码,并根据其更新所述预置识别码。本申请实施例提供的语音控制方法,用于实现终端的语音控制,并能当控件的识别码发生变化时,实现了本地预置识别码的自主更新,解决因控件的识别码发生变化而产生无法完成模拟点击的问题。本申请提供的语音控制方法,实现语音控制的自学习,可以有效自主扩展所需要控件的识别码。

图2为本申请实施例二提供的一种语音控制方法的流程图。如附图2所示,在本申请具体实施方式中,本申请实施例提供的语音控制方法,在所述根据所述控制指令,获取与所述控制指令相匹配控件的预置识别码前,所述方法还包括:

S500:匹配解析出的控制指令和预置词条,判断解析出的控制指令是否符合预置词条。

S501:当解析出的控制指令符合预置词条时,根据所述预置词条拆分解析出的控制指令,获得若干相应控制指令。

预置词条是预先设置词条,通常用于表示若干个控制指令,记录其中每一个相关步骤的控制指令。如,预置词条“查看朋友圈”记录“进入微信”、“点击发现”和“点击朋友圈”三个步骤的控制指令。

在解析出语音中所包含的语音指令后,先进行所述语音指令与预置词条的匹配,判断解析出的控制指令是否符合预置词条,即判断预置词条中是否包含所述解析出的控制指令,当解析出的控制指令符合预置词条或预置词条中包含所述解析出的控制指令,根据预置词条拆分解析出的若干相应控制指令,根据拆分出的控制指令依次获取与所述控制指令相匹配控件的预置识别码,并依次获取相应操作界面的屏幕信息并根据相应预置识别码查找所述屏幕信息,依次去执行拆分出的每一个控制指令。当无法从屏幕信息找到预置词条对应的某一个控制指令时,进行此控制指令对应预置识别码的更新,实现语音控制的自学习。

基于上述实施例提供的语音控制方法,用户可在桌面当前操作界面直接说“查看朋友圈”,语音控制系统根据预置词条“查看朋友圈”记录的“进入微信”、“点击发现”和“点击朋友圈”步骤的控制指令,分别获取“微信”、“发现”以及“朋友圈”的预置识别码,然后获取当前桌面的屏幕信息,从桌面的屏幕信息中查找与“微信”的预置识别码相对应的控件,模拟点击所述控件;进入微信界面后,获取微信界面的屏幕信息,从微信界面的屏幕信息查找与“发现”的预置识别码相对应的控件,模拟点击所述控件;进入发现界面后,获取发现界面的屏幕信息,从发现界面的屏幕信息查找“朋友圈”的预置识别码相对应的控件,模拟点击所述控件,完成进入朋友圈,达到查看朋友圈的操作。上述“查看朋友圈”具体过程如附图3所示。

当“进入微信”、“点击发现”和“点击朋友圈”中任意一个控制指令对应的识别码发生变化的时候,进行该控制指令对应匹配预置识别码的更新,然后继续执行后续控制指令,直至语音控制结束。如,微信界面的屏幕信息中控件“发现”的识别码发生变化,当根据“发现”的预置识别码在微信界面的屏幕信息中查找时,将无法查找到,则获取用户手动操作过程中所点击控件的识别码,开启“点击发现”相对应控制指令操作的自学习,根据所述用户操作过程中所点击控件的识别码更新所述预置识别码;并在发现界面继续执行点击“朋友圈”的语音操作,若是能够找到相应“朋友圈”的预置识别码则进行点击,若是无法找到重复上述的操作进行“点击朋友圈”相对应控制指令操作的自学习。

进一步,在本申请具体实施方式中,若未能从所述屏幕信息中找到与所述预置text或预置ID相同的控件,提示用户手动操作,根据用户手动操作获取用户手动操作过程中所点击控件的text或ID,根据所述用户操作过程中所点击控件的text或ID更新所述预置text或预置ID。

如,当在终端当前操作界面无法查找到“发送[204,187][104,361]”时,提示用户“请手动点击发送”,起到了提醒用户无法正常找到控件“发送”的作用,便于用户及时获知语音控制无法模拟点击控件“发送”并及时手动点击控件“发送”。

如此,可有助于给予用户警示,便于用户进一步执行控制,提高控制的效率;同时,因为提示用户进行手动操作,便于针对其提示的手动操作去进行手动操作,有助于提高更新预置text或预置ID的准确性。

在本申请具体实施方式中,在根据所述用户操作过程中所点击控件的text或ID更新所述预置text或预置ID时,提醒用户是否更新所述预置text或预置ID,当接收到更新所述预置text或预置ID的信号时,获取用户操作过程中所点击控件的text或ID,根据所述用户操作过程中所点击控件的text或ID更新所述预置text或预置ID。

在根据所述用户操作过程中所点击控件的text或ID更新所述预置text或预置ID前,提醒用户是否更新,提高更新预置text或预置ID的自主性。且若发生用户执行手动操作点击的控件内容并不是语音控制所需点击的控件时,先进行提醒,可防止相互不匹配控件预置text或预置ID被更新,提高预置text或预置ID被更新的准确性。

具体的,可弹出“是否更新XX控件预置text(预置ID)”窗口,当用户点击“是”时,则会接收到更新控件“XX”预置text(预置ID)的信号,进行获取用户操作过程中所点击控件的text或ID,根据所述用户操作过程中所点击控件的text或ID更新所述控件“XX”预置text或预置ID;当用户点击“否”时,则不会接收到更新控件“XX”预置text或预置ID的信号,将不会进行获取用户操作过程中所点击控件的text或ID以及更新。

如,提醒用户是否更新控件“发送”的预置text或预置ID,若是用户点击“是”,则会接收到更新控件“发送”的预置text或预置ID的信号,从屏幕信息中获取控件“发送”的text或ID信息(发送[216,187][104,257]),将屏幕信息中获取到的“发送”的text或ID信息替换原控件“发送”的预置text或ID,实现控件“发送”的预置text或预置ID的更新;如是用户点击“否”,则不会进行控件“发送”的预置text或预置ID的更新。

进一步,在本申请具体实施方式中,获取用户手动操作过程中所点击控件的text或ID,包括:基于窗口管理(Windows Manager)服务获取用户手动操作过程中所点击控件的text或ID。即,通过终端操作系统的Windows Manager服务获取用户操作过程中所点击控件的ID或者text。Windows Manager是终端操作系统的一个服务,他实际是View的直接管理者,所以可以通过Windows Manager来获取用所点击控件的ID或text。

在本申请具体实施方式中,本申请提供的语音控制方法还包括提醒用户所述控件的text或ID已更新。具体的,当根据所述用户操作过程中所点击控件的text或ID更新所述预置text或预置ID后,提醒用户所述控件的text或ID已更新。

与上述实施例提供的一种语音控制方法相对应,本申请实施例还提供了一种语音控制装置的实施例,语音控制装置的结构如附图4所示。本申请实施例提供的语音控制装置可用于智能手机、电视等终端设备。

本申请实施例提供的语音控制装置600,包括处理器601和存储器602;

所述存储器602,用于存储程序代码;

所述处理器601,用于读取所述存储器602中存储的程序代码,并作具体部件执行上述实施例提供的任意一项所述的语音控制方法。

其中,处理器601内部设置有微存储器,用于存储程序,程序可以包括程序代码,程序代码包括计算机操作指令。微存储器可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。微存储器可以为一个,当然,微存储器也可以根据需要,为多个微存理器。微处理器,用于读取微存储器中存储的程序代码。微存储器用于临时存储语音控制程序,当启动语音控制后,存储器中的语音控制程序随即释放。

基于本申请实施例提供的语音控制装置,本申请实施例还提供了一种手机,所述手机包括语音控制装置,所述语音控制装置为上述实施例所述的语音控制装置。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处,相关之处参见方法实施例的部分说明即可。本领域技术人员在考虑说明书及实践这里的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种多人场景的人机交互系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!