CN108108158A - 一种面向安卓的用户个性化定制语音控制应用方法 - Google Patents

一种面向安卓的用户个性化定制语音控制应用方法 Download PDF

Info

Publication number
CN108108158A
CN108108158A CN201711345479.2A CN201711345479A CN108108158A CN 108108158 A CN108108158 A CN 108108158A CN 201711345479 A CN201711345479 A CN 201711345479A CN 108108158 A CN108108158 A CN 108108158A
Authority
CN
China
Prior art keywords
voice
user
android
scene
application
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.)
Granted
Application number
CN201711345479.2A
Other languages
English (en)
Other versions
CN108108158B (zh
Inventor
彭鑫
郑家欢
曾虹驰
赵文耘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201711345479.2A priority Critical patent/CN108108158B/zh
Publication of CN108108158A publication Critical patent/CN108108158A/zh
Application granted granted Critical
Publication of CN108108158B publication Critical patent/CN108108158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)中的整个脚本执行过程后,执行控制器结束整个过程。
CN201711345479.2A 2017-12-15 2017-12-15 一种面向安卓的用户个性化定制语音控制应用方法 Active CN108108158B (zh)

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 true CN108108158A (zh) 2018-06-01
CN108108158B 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109256124A (zh) * 2018-09-28 2019-01-22 上海连尚网络科技有限公司 一种用于用户设备端的语音指令创建方法
CN109754799A (zh) * 2018-12-27 2019-05-14 上海数果科技有限公司 通过自定义语音控制应用功能的系统及方法
CN112379876A (zh) * 2020-11-13 2021-02-19 惠州市德赛西威汽车电子股份有限公司 一种自定义语音技能的方法及服务器
WO2021077245A1 (zh) * 2019-10-21 2021-04-29 宇龙计算机通信科技(深圳)有限公司 语音控制的方法、装置、终端及存储介质
CN112905167A (zh) * 2021-03-11 2021-06-04 北京字节跳动网络技术有限公司 应用操作方法、装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
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 中兴通讯股份有限公司 一种音频同步录放系统及方法、存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
周丽娴 等: ""Android语音识别应用的研究与开发"", 《广东通信技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109256124A (zh) * 2018-09-28 2019-01-22 上海连尚网络科技有限公司 一种用于用户设备端的语音指令创建方法
CN109754799A (zh) * 2018-12-27 2019-05-14 上海数果科技有限公司 通过自定义语音控制应用功能的系统及方法
WO2021077245A1 (zh) * 2019-10-21 2021-04-29 宇龙计算机通信科技(深圳)有限公司 语音控制的方法、装置、终端及存储介质
CN112379876A (zh) * 2020-11-13 2021-02-19 惠州市德赛西威汽车电子股份有限公司 一种自定义语音技能的方法及服务器
CN112379876B (zh) * 2020-11-13 2022-03-15 惠州市德赛西威汽车电子股份有限公司 一种自定义语音技能的方法及服务器
CN112905167A (zh) * 2021-03-11 2021-06-04 北京字节跳动网络技术有限公司 应用操作方法、装置和电子设备
CN112905167B (zh) * 2021-03-11 2023-10-27 北京字节跳动网络技术有限公司 应用操作方法、装置和电子设备

Also Published As

Publication number Publication date
CN108108158B (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN108108158A (zh) 一种面向安卓的用户个性化定制语音控制应用方法
US11558317B2 (en) Invoking an automatic process in a web-based target system using a chat-bot
CN109977208B (zh) 一种融合faq和任务及主动引导的对话系统
CN102263863B (zh) 交互式语音响应设计的过程集成的树视图控制
CN101697156B (zh) 一种构造链式网页的方法及系统
CN108279839A (zh) 基于语音的交互方法、装置、电子设备及操作系统
CN107210040A (zh) 语音功能的操作方法和支持该方法的电子设备
EP2245551A1 (en) Identification of elements of currently-executing component script
US20100106547A1 (en) Automated workflow generation
CN110995945B (zh) 一种生成外呼流程的数据处理方法、装置、设备及系统
JP2019091416A (ja) 人工知能応用を構築する方法及び装置
CN111124636A (zh) 一种流程编排引擎及其控制方法
CN109117208A (zh) 信息分享方法、装置、用户终端及可读存储介质
US6438742B1 (en) Object-oriented system and method for visually generating software applications
CN106713011A (zh) 一种获取测试数据的方法与系统
CN108459848A (zh) 一种应用于Excel软件的脚本获取方法及系统
CN111722893A (zh) 一种电子设备图形用户界面交互方法、装置和终端设备
EP1814293A1 (en) An interactive voice system
US7472355B2 (en) Computer-implemented method for managing commands for a terminal session
JP2009212566A (ja) コールフロー作成システム、方法及びプログラム
CN110231965A (zh) 一种云端设备、应用程序处理方法及电子设备
JPWO2019163079A1 (ja) 会話制御プログラム、会話制御方法及び会話制御装置
CN108089859A (zh) 一种基于录制回放的安卓应用间混搭方法
CN111259063B (zh) 一种以api方式实现数据导出的方法及装置
Ivanov NFC-based pervasive learning service for children

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