CN108108158B - 一种面向安卓的用户个性化定制语音控制应用方法 - Google Patents
一种面向安卓的用户个性化定制语音控制应用方法 Download PDFInfo
- Publication number
- CN108108158B CN108108158B CN201711345479.2A CN201711345479A CN108108158B CN 108108158 B CN108108158 B CN 108108158B CN 201711345479 A CN201711345479 A CN 201711345479A CN 108108158 B CN108108158 B CN 108108158B
- Authority
- CN
- China
- Prior art keywords
- voice
- user
- android
- scene
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明属于移动应用软件技术领域,具体为一种面向安卓的用户个性化定制语音控制应用方法。本发明采用针对安卓应用的录制回放技术;在录制阶段用户按照安卓应用自身的触屏操作方式使用应用,并定义需要语音输入的参数信息、针对候选结果的筛选机制以及需要语音输出的结果信息,这些执行过程以及输入输出设置都被记录为运行脚本;在回放阶段目标应用在被语音指令启动后按照运行脚本自动运行,在需要语音输入的时候通过语音助手与用户进行语音交互,在产生输出信息时通过语音助手报读输出结果。本发明通过对安卓系统框架层代码的修改来使得安卓应用具备语音交互场景的定制和执行能力,无需安卓应用进行任何修改,也无需安卓应用开发者提供支持。
Description
技术领域
本发明属于移动应用软件技术领域,具体涉及一种面向安卓的用户个性化定制语音控制应用方法。
背景技术
当前的移动应用主要以基于触摸屏的手势操作作为主要的用户交互手段。这种交互模式在大多数时候都比较方便。但是当用户使用环境中出现光线强烈、手被占用、姿势不方便等情境障碍,或者残疾用户具有视力或手臂等方面的身体障碍时,触屏交互就不再方便了。语音交互对于触屏交互而言是一种良好的补充,能够在触屏交互不方便的情况下提供一种灵活、便利的替代交互手段。
现有的一些移动应用中集成了语音交互能力,但仅支持一部分功能,且需要应用开发者来实现。类似Siri的语音交互助手则需要应用开发者通过基于接口的开发来实现对于应用的操控。而读屏软件则主要针对屏幕内容的报读,交互能力较弱。
本发明为安卓用户提供了一种个性化定制语音交互场景的能力,使他们可以根据自己的需要将普通的安卓应用转化成一个完全由语音操控的应用。该方法主要针对用户使用安卓应用时的常用使用场景。用户在每次执行这些安卓应用场景时,大部分的交互步骤都相同,仅在某些步骤上的输入信息和选择不同。针对这些场景,本发明通过用户操作录制的方式将其执行过程和重复输入录制成执行脚本,同时将存在变化的输入信息和选择设置为语音交互内容。在此基础上,本发明通过执行脚本回放的方式执行语音交互场景,其中的语音交互通过集成的语音助手来实现。
发明内容
本发明的目的在于针对用户使用安卓应用时的常用使用场景,提供一种交互能力强的用户个性化定制语音控制应用方法,包括安卓应用语音交互场景的录制与回放、语音助手与安卓应用之间的双向交互等。
本发明在集成语音助手的基础上,支持最终用户针对任意选中的安卓应用定制并使用语音交互场景,从而将普通的原生安卓应用变成完全由语音控制的应用。该方法采用针对安卓应用的录制回放技术。其中,在录制(即语音交互场景的定制)阶段,用户按照安卓应用自身的触屏操作方式使用应用,并定义需要语音输入的参数信息、针对候选结果的筛选机制以及需要语音输出的结果信息。这些执行过程以及输入输出设置都被记录为运行脚本;在回放(即语音交互场景的使用)阶段,目标应用在被语音指令启动后按照运行脚本自动运行,并在需要语音输入的时候通过语音助手与用户进行语音交互,并在产生输出信息时通过语音助手报读输出结果。本发明通过对安卓系统框架层代码的修改来使得安卓应用具备语音交互场景的定制和执行能力,无需安卓应用进行任何修改,也无需安卓应用开发者提供支持。
本发明的概念模型如图1所示。针对一个目标应用可以定义多个语音交互执行场景。每个场景中都包含一系列窗口,每个窗口上都会执行一系列的交互序列,这些在录制过程中都被记录到执行脚本中。一些交互序列所涉及的控件事件(例如文本框输入)中需要一些输入值,这些输入值可以来自于录制过程中记录的输入值(即在每次执行过程中都一样的重复值),或者来自于回放执行过程中的即时输入值(即在执行过程中通过语音交互获得的输入值)。此外,一些交互序列所涉及的控件事件(例如文本标签的内容更新)产生输出值,这些输出值通过语音播报的方式返回给用户。
具体来说,本发明提供的面向安卓的用户个性化定制语音控制应用方法,包括以下步骤。
(一)对标准的安卓系统框架层代码进行修改,将与语音交互场景录制和执行相关的控制代码编织到安卓应用所使用的界面窗口和视图控件基类的事件响应和生命周期管理方法中,然后重新编译修改后的安卓框架源代码,并加入一个第三方语音助手软件包,一起得到一个更新后的安卓ROM(只读存储器);将所得到的安卓ROM刷入安卓移动设备中,其中,新增的语音助手以系统服务的形式常驻在安卓移动设备后台;
(二)用户启动语音助手的场景录制功能,选择一个当前移动设备上已安装的软件应用后进行语音交互场景录制,如图2所示,包括以下流程:
(1)用户以语音的方式录入场景名称,然后从应用列表中选定与当前录制场景相关联的目标应用;
(2)语音助手记录场景注册信息,然后自动启动目标应用;
(3)用户按照预想的使用场景通过手势操作执行目标应用,录制控制器记录场景执行过程中所涉及的窗口、每个窗口上的交互序列(例如按钮点击、文本输入等)以及用户的输入值(例如文本输入值、下拉框选取的内容等);
(4)在流程(3)中的执行过程中,用户可以通过屏幕选取和设置操作将输入框等输入控件设置为语音输入控件(需要用户语音输入),录制控制器提示用户提供语音输入提示(例如用语音表达“请输入商品名称”),并记录相关语音输入设置;
(5)在流程(3)中的执行过程中,用户可以通过屏幕选取和设置操作设置候选结果列表(例如商品查询之后返回的结果列表)的语音筛选机制,包括需要语音逐一报读的字段、通过语音进行二次筛选的字段等,录制控制器记录所设置的语音筛选机制;
(6)在流程(3)中的执行过程中,用户可以通过屏幕选取和设置操作将文本标签等输出控件设置为语音输出控件(其内容将作为面向用户的语音输出),录制控制器提示用户提供语音输出提示(例如用语音表达“商品价格”),并记录相关语音输出设置;
(7)完成流程(3)中的整个录制执行过程后,用户选择结束场景录制,录制控制器根据记录内容形成完整的场景脚本文件并保存;
(三)用户启动语音助手的场景执行功能,如图3所示,包括以下流程:
(1)用户通过语音指令选择一个录制好的执行场景进行执行,语音助手通过其黄页服务查询场景注册信息;
(2)语音助手根据所获得的目标应用信息自动启动目标应用;
(3)执行控制器读取场景对应的脚本文件,按照其中所记录的窗口和交互序列进行交互事件回放,实现场景的自动执行,其中所涉及的输入信息,如果在脚本中存在记录好的输入值则自动读入并进行输入值设置;
(4)在流程(3)中的执行过程中,如果遇到语音输入控件,执行控制器将向语音助手请求播放输入提示,然后通过语音助手获取用户的语音输入并将其设置到相应的控件中;
(5)在流程(3)中的执行过程中,如果当前窗口所显示的候选列表上定义了语音筛选机制,执行控制器将向语音助手请求播放二次筛选条件字段输入提示,如果用户给出条件则根据该条件匹配对应字段后对候选结果进行筛选,然后通过语音助手依次逐条播报候选结果中指定的播报字段,用户听到某条信息后发出确认的语音指令后执行控制器将执行该条候选结果的选中操作;
(6)在流程(3)中的执行过程中,如果遇到语音输出控件,执行控制器将向语音助手请求播放语音输出提示然后播放语音输出控件中的内容;
(7)完成流程(3)中的整个脚本执行过程后,执行控制器结束整个过程。
本发明中,步骤(一)中通过安卓系统框架层代码的改造以及安卓ROM的更新,使得步骤(二)中的录制控制器和步骤(三)中的执行控制器行为自动被加入到安卓应用中,使得现有的安卓应用无需修改就可以具有语音控制执行场景的录制和执行能力。
附图说明
图1为本发明的语音控制安卓应用的概念模型图。
图2为本发明的语音控制安卓应用的录制过程的流程图。
图3为本发明的语音控制安卓应用的回放过程的流程图。
图4为本发明的安卓系统框架层改造示意图。
图5为本发明的执行控制器的事件回放执行方法图。
具体实施方式
(1)语音助手以安卓应用的形式存在,其主要功能是充当目标应用与用户之间语音交互的桥梁。用户双击HOME键时,语音助手就会被启动。语音助手与目标应用的录制控制器以及执行控制器之间的通信是通过安卓应用间通信机制Messenger实现的,语音助手实现了一个Service供录制控制器和执行控制器使用,这个Service创建了一个Messenger,Messenger关联一个Handler用于处理来自控制器的消息。
(2)录制控制器通过将其行为编织到安卓框架中相关的基类中来实现。这些行为主要与触屏事件的处理(封装为MotionEvent对象)有关,如图 4 所示。该图显示了相关的类和方法,灰色是引入录制控制器行为的类/方法。为了捕获每个窗口上的交互序列,将记录代码插入到 View 类的相关事件处理方法里。这些代码捕获 View 事件并将其与View的识别符和事件类型等信息保存在脚本文件中。为了能够让用户在录制过程中方便设置相关输入/输出,将相关的录制代码插入到dispatchTouchEvent方法中,用户长按屏幕就会弹出设置窗口。为了捕获用户输入的文本,插入相关代码代码到 Activity/Dialog 的onWindowFocusChanged方法中,并对相关 View 绑定TextWatcher监听器。录制控制器使用语音助手的Service返回的binder来创建客户端Messenger,这个客户端Messenger用于发送消息给语音助手Messenger。录制控制器也创建一个回复Messenger,用于让语音助手回复消息。回复Messenger关联的Handler用于处理从语音助手返回的消息。
(3)执行控制器通过将其行为相关代码插入到Activity/Dialog的onWindowFocusChanged方法中来实现。 插入的代码获取当前窗口的交互序列,并通过调用相应的事件处理方法回放序列中的视图事件。图5显示了不同类型事件的相应视图类和事件重放方法。执行控制器使用语音助手的Service返回的binder来创建客户端Messenger,这个客户端Messenger用于发送消息给语音助手Messenger。执行控制器也创建一个回复Messenger,用于让语音助手回复消息。回复Messenger关联的Handler用于处理从语音助手返回的消息。
Claims (1)
1.一种面向安卓的用户个性化定制语音控制应用方法,其特征在于,具体步骤为:
(一)对标准的安卓系统框架层代码进行修改,将与语音交互场景录制和执行相关的控制代码编织到安卓应用所使用的界面窗口和视图控件基类的事件响应和生命周期管理方法中,然后重新编译修改后的安卓框架源代码,并加入一个第三方语音助手软件包,得到一个更新后的安卓ROM;将所得到的安卓ROM刷入安卓移动设备中,其中,新增的语音助手以系统服务的形式常驻在安卓移动设备后台;
(二)用户启动语音助手的场景录制功能,选择一个当前移动设备上已安装的软件应用后进行语音交互场景录制,具体流程为:
(1)用户以语音的方式录入场景名称,然后从应用列表中选定与当前录制场景相关联的目标应用;
(2)语音助手记录场景注册信息,然后自动启动目标应用;
(3)用户按照预想的使用场景通过手势操作执行目标应用,录制控制器记录场景执行过程中所涉及的窗口、每个窗口上的交互序列以及用户的输入值;
(4)在流程(3)中的执行过程中,用户通过屏幕选取和设置操作将输入控件设置为语音输入控件,录制控制器提示用户提供语音输入提示,并记录相关语音输入设置;
(5)在流程(3)中的执行过程中,用户通过屏幕选取和设置操作设置候选结果列表的语音筛选机制,包括需要语音逐一报读的字段、通过语音进行二次筛选的字段,录制控制器记录所设置的语音筛选机制;
(6)在流程(3)中的执行过程中,用户通过屏幕选取和设置操作将输出控件设置为语音输出控件,录制控制器提示用户提供语音输出提示,并记录相关语音输出设置;
(7)完成流程(3)中的整个录制执行过程后,用户选择结束场景录制,录制控制器根据记录内容形成完整的场景脚本文件并保存;
(三)用户启动语音助手的场景执行功能,具体流程为:
(1)用户通过语音指令选择一个录制好的执行场景进行执行,语音助手通过其黄页服务查询场景注册信息;
(2)语音助手根据所获得的目标应用信息自动启动目标应用;
(3)执行控制器读取场景对应的脚本文件,按照其中所记录的窗口和交互序列进行交互事件回放,实现场景的自动执行,其中所涉及的输入信息,如果在脚本中存在记录好的输入值则自动读入并进行输入值设置;
(4)在流程(3)中的执行过程中,如果遇到语音输入控件,执行控制器向语音助手请求播放输入提示,然后通过语音助手获取用户的语音输入并将其设置到相应的控件中;
(5)在流程(3)中的执行过程中,如果当前窗口所显示的候选列表上定义了语音筛选机制,执行控制器向语音助手请求播放二次筛选条件字段输入提示,如果用户给出条件则根据该条件匹配对应字段后对候选结果进行筛选,然后通过语音助手依次逐条播报候选结果中指定的播报字段,用户听到某条信息后发出确认的语音指令后执行控制器将执行该条候选结果的选中操作;
(6)在流程(3)中的执行过程中,如果遇到语音输出控件,执行控制器向语音助手请求播放语音输出提示然后播放语音输出控件中的内容;
(7)完成流程(3)中的整个脚本执行过程后,执行控制器结束整个过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711345479.2A CN108108158B (zh) | 2017-12-15 | 2017-12-15 | 一种面向安卓的用户个性化定制语音控制应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711345479.2A CN108108158B (zh) | 2017-12-15 | 2017-12-15 | 一种面向安卓的用户个性化定制语音控制应用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108158A CN108108158A (zh) | 2018-06-01 |
CN108108158B true CN108108158B (zh) | 2021-03-30 |
Family
ID=62216097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711345479.2A Active CN108108158B (zh) | 2017-12-15 | 2017-12-15 | 一种面向安卓的用户个性化定制语音控制应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108158B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109256124A (zh) * | 2018-09-28 | 2019-01-22 | 上海连尚网络科技有限公司 | 一种用于用户设备端的语音指令创建方法 |
CN109754799A (zh) * | 2018-12-27 | 2019-05-14 | 上海数果科技有限公司 | 通过自定义语音控制应用功能的系统及方法 |
CN114556895A (zh) * | 2019-10-21 | 2022-05-27 | 宇龙计算机通信科技(深圳)有限公司 | 语音控制的方法、装置、终端及存储介质 |
CN112379876B (zh) * | 2020-11-13 | 2022-03-15 | 惠州市德赛西威汽车电子股份有限公司 | 一种自定义语音技能的方法及服务器 |
CN112905167B (zh) * | 2021-03-11 | 2023-10-27 | 北京字节跳动网络技术有限公司 | 应用操作方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883041A (zh) * | 2012-08-02 | 2013-01-16 | 聚熵信息技术(上海)有限公司 | 移动终端的语音控制装置及方法 |
CN103092981A (zh) * | 2013-01-31 | 2013-05-08 | 华为终端有限公司 | 一种建立语音标记的方法及电子设备 |
CN105825851A (zh) * | 2016-05-17 | 2016-08-03 | Tcl集团股份有限公司 | 一种基于Android系统的语音控制方法及系统 |
CN106098061A (zh) * | 2016-06-01 | 2016-11-09 | Tcl集团股份有限公司 | 一种基于安卓系统的语音交互方法和装置 |
WO2017177873A1 (zh) * | 2016-04-15 | 2017-10-19 | 中兴通讯股份有限公司 | 一种音频同步录放系统及方法、存储介质 |
-
2017
- 2017-12-15 CN CN201711345479.2A patent/CN108108158B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883041A (zh) * | 2012-08-02 | 2013-01-16 | 聚熵信息技术(上海)有限公司 | 移动终端的语音控制装置及方法 |
CN103092981A (zh) * | 2013-01-31 | 2013-05-08 | 华为终端有限公司 | 一种建立语音标记的方法及电子设备 |
WO2017177873A1 (zh) * | 2016-04-15 | 2017-10-19 | 中兴通讯股份有限公司 | 一种音频同步录放系统及方法、存储介质 |
CN105825851A (zh) * | 2016-05-17 | 2016-08-03 | Tcl集团股份有限公司 | 一种基于Android系统的语音控制方法及系统 |
CN106098061A (zh) * | 2016-06-01 | 2016-11-09 | Tcl集团股份有限公司 | 一种基于安卓系统的语音交互方法和装置 |
Non-Patent Citations (1)
Title |
---|
"Android语音识别应用的研究与开发";周丽娴 等;《广东通信技术》;20130430;第15-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108108158A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108158B (zh) | 一种面向安卓的用户个性化定制语音控制应用方法 | |
US10819664B2 (en) | Chat-based application interface for automation | |
WO2017101663A1 (zh) | 应用的引导方法及装置、终端 | |
CN104572042A (zh) | 移动终端设备的跨平台中间件装置及其实现方法 | |
US20080114604A1 (en) | Method and system for a user interface using higher order commands | |
CN109428968B (zh) | 控制终端的方法、装置及存储介质 | |
US20060155954A1 (en) | Selective macro event recording | |
WO2009108203A1 (en) | Identification of elements of currently-executing component script | |
CN109800135A (zh) | 一种信息处理方法及终端 | |
CN111190598A (zh) | 基于控件库拖拽式开发的燃机监控软件画面组态方法 | |
CN106055239A (zh) | 录屏方法及装置 | |
JPH05100833A (ja) | コード生成手段を有するデータ処理装置及びコード生成方法 | |
US20200051563A1 (en) | Method for executing function based on voice and electronic device supporting the same | |
CN110688187A (zh) | 一种应用程序定制功能界面中控件与功能函数的数据交互方法 | |
CN112799656B (zh) | 自动化操作的脚本文件配置方法、装置、设备和存储介质 | |
US11934420B2 (en) | Systems and methods for componentization and plug and play workflows | |
WO2015188463A1 (zh) | Ivr对外接口配置方法及装置、计算机存储介质 | |
CN111061522B (zh) | 基于后端生成前端卡片组件的方法、装置、设备及存储介质 | |
CN111435328B (zh) | 应用测试方法、装置、电子设备及可读存储介质 | |
KR20100056338A (ko) | 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법 | |
CN108089859B (zh) | 一种基于录制回放的安卓应用间混搭方法 | |
CN110308959A (zh) | 内容展示方法及装置、电子设备和可读存储介质 | |
CN110457063B (zh) | 脚本程序的封装方法及装置、电子设备、可读存储介质 | |
WO2007097014A1 (ja) | 情報システムの動作確認方法、その動作確認プログラム、記録媒体及び動作確認システム | |
US20160170717A1 (en) | Association of program code and application features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |