1.一种全程语音实现方法,其特征在于,包括:
步骤A、启动应用程序时打开一个客户端socket,用来连接全程语音服务端socket;
步骤B、当应用程序切换到前台时,通过反射机制将应用程序的控件节点信息提交给全程语音服务端,全程语音服务端记录当前处于前台的应用程序;
步骤C、当全程语音服务端接收到语音信息后,对所述语音信息进行解析,并通过socket方式向应用程序发送所解析的语义信息;
步骤D、应用程序接收到全程语音服务端发送过来的语义信息后,调用相应的控件响应函数,进行相应的响应操作。
2.根据权利要求1所述的全程语音实现方法,其特征在于,所述步骤C具体包括:
步骤C1、当全程语音服务端接收到语音信息后,进行语义解析;
步骤C2、判断语义解析出的语义信息是否与应用程序提交的资料相匹配,若是则进入步骤C3;
步骤C3、通过socket方式向应用程序发送所解析的语义信息。
3.根据权利要求1所述的全程语音实现方法,其特征在于,所述步骤A还包括:
每次启动应用程序时启动一个线程,用来循环等待全程语音服务端发送过来的语义信息,并根据所接收的语义信息做相应的响应操作。
4.根据权利要求1所述的全程语音实现方法,其特征在于,所述步骤A之前还包括:
步骤A0、预先为应用程序的UI控件添加注解。
5.根据权利要求4所述的全程语音实现方法,其特征在于,所述步骤B具体包括:
B1、获取切换到前台的应用程序的根节点;
B2、获取到所述根节点之后,通过反射的方法,获取相应的类名,然后遍历所述根节点;
B3、遍历所述根节点后,根据所述注解获取所述应用程序的控件节点信息。
6.一种全程语音实现系统,其特征在于,包括:
socket连接模块,用于启动应用程序时打开一个客户端socket,用来连接全程语音服务端socket;
记录模块,用于当应用程序切换到前台时,通过反射机制将应用程序的控件节点信息提交给全程语音服务端,全程语音服务端记录当前处于前台的应用程序;
语音发送模块,用于当全程语音服务端接收到语音信息后,对所述语音信息进行解析,并通过socket方式向应用程序发送所解析的语义信息;
操作响应模块,用于应用程序接收到全程语音服务端发送过来的语义信息后,调用相应的控件响应函数,进行相应的响应操作。
7.根据权利要求6所述的全程语音实现系统,其特征在于,所述语音发送模块具体包括:
语义解析单元,用于当全程语音服务端接收到语音信息后,进行语义解析;
语义匹配单元,用于判断语义解析出的语义信息是否与应用程序提交的资料相匹配,若是则进入语义发送单元;
语义发送单元,用于通过socket方式向应用程序发送所解析的语义信息。
8.根据权利要求6所述的全程语音实现系统,其特征在于,所述socket连接模块还包括:
线程启动单元,用于每次启动应用程序时启动一个线程,用来循环等待全程语音服务端发送过来的语义信息,并根据所接收的语义信息做相应的响应操作。
9.根据权利要求6所述的全程语音实现系统,其特征在于,还包括:
注解添加模块,用于预先为应用程序的UI控件添加注解。
10.根据权利要求9所述的全程语音实现系统,其特征在于,所述记录模块具体包括:
根节点获取单元,用于获取切换到前台的应用程序的根节点;
根节点遍历单元,用于获取到所述根节点之后,通过反射的方法,获取相应的类名,然后遍历所述根节点;
控件节点信息获取单元,用于遍历所述根节点后,根据所述注解获取所述应用程序的控件节点信息。