本发明实施例涉及语音技术领域,尤其涉及一种基于输入法应用软件的语音输入方法及装置。
背景技术:
随着科学技术的发展,由苹果公司开发的移动操作系统IOS已经发展到了iOS10,但是受到技术的限制,iOS8以上版本的操作系统,在其上安装的输入法应用软件是通过KeyboardExtension实现的,但是KeyboardExtenstion没有录音权限,因此无法实现语音输入功能。
目前,使用iOS8以上版本的移动终端在进行语音输入时,过程如下:首先点击如图1A所示的输入法应用软件的输入面板中的语音输入按钮,则自动跳转至如图1B所示的输入法应用软件的输入设置项,用户在所述输入设置项中完成录音并进行语音识别,然后点击复制按钮将得到的文本内容粘贴至输入法应用软件的输入面板中,或者点击发送按钮将得到的文本内容发送至输入面板中,从而完成语音输入。
可见,上述的语音输入过程需要用户手动干预,且语音输入过程比较繁琐,使语音输入效率很低。
技术实现要素:
本发明实施例提供一种基于输入法应用软件的语音输入方法及装置,减少用户在语音输入过程的干预,提高语音输入效率。
第一方面,本发明实施例提供了一种基于输入法应用软件的语音输入方法,包括:
根据用户操作生成启动录音指令;
将所述启动录音指令传输至在后台运行的输入法应用软件的输入法设置项中,指示所述输入法设置项完成录音;
提供根据所述录音进行语音识别得到的文本。
第二方面,本发明实施例还提供了一种基于输入法应用软件的语音输入装置,包括:
录音指令生成模块,用于根据用户操作生成启动录音指令;
录音模块,用于将所述启动录音指令传输至在后台运行的所述输入法应用软件的输入法设置项中,指示所述输入法设置项完成录音;
文本提供模块,用于提供根据所述录音进行语音识别得到的文本。
本发明实施例通过根据用户操作生成启动录音指令,然后将所述启动录音指令传输至在后台运行的输入法设置项中,在所述输入法设置项完成录音,并提供根据所述录音进行语音识别得到的文本,这个过程无需跳转至输入法设置项中再根据用户操作进行录音,减少了用户的干预,能够提高语音输入效率。
附图说明
图1A是现有技术提供的输入法应用软件的输入面板显示界面示意图;
图1B是现有技术提供的输入法应用软件的输入设置项显示界面示意图;
图1C是现有技术提供的输入法应用软件完成语音识别后的输入面板显示界面示意图;
图2是本发明实施例一中的一种基于输入法应用软件的语音输入方法的流程图;
图3是本发明实施例二中的一种基于输入法应用软件的语音输入方法的流程图;
图4是本发明实施例三中的一种基于输入法应用软件的语音输入方法的流程图;
图5是本发明实施例四中的一种基于输入法应用软件的语音输入装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图2为本发明实施例一提供的一种基于输入法应用软件的语音输入方法的流程图,本实施例可适用于使用输入法应用软件进行语音输入的情况,该方法可以由本发明实施例提供的基于输入法应用软件的语音输入装置来执行,该装置可集成于移动终端(例如手机、智能手机、平板电脑)和固定终端(例如,台式电脑或笔记本电脑)中,如图2所示,具体包括:
S101、根据用户操作生成启动录音指令。
其中,所述启动录音指令用于表征所述输入面板已开启语音输入功能。所述输入法应用软件可为安装在终端上的第三方输入法软件,例如讯飞输入法、百度输入法或搜狗输入法等。所述输入法应用软件包含两个进程,一个进程对应输入面板,所述输入面板包括但不限于以下至少一项:供用户输入的键盘、文本框、语音输入按钮等;另一个进程对应输入法设置项用于进行录音、设置输入方式或键盘显示方式等。
具体的,可根据用户对输入法应用软件的输入面板的操作生成启动录音指令。例如,可在所述输入面板上提供语音输入按钮,用户可通过点击该语音输入按钮启动即可启动语音输入功能,本发明实施例所述的装置会根据用户的点击操作生成启动录音指令,将其发送至后台运行的所述输入法应用软件的输入法设置项中。
S102、将所述启动录音指令传输至在后台运行的输入法应用软件的输入法设置项中,指示所述输入法设置项完成录音。
在本实施例中,所述输入法设置项在后台运行,将所述输入法设置项接收到所述启动录音指令之后就处于实时监听的状态,当监听到录音开始指令到达时则开始录音,当监听到录音结束指令到达时则停止录音。
S103、提供根据所述录音进行语音识别得到的文本。
具体的,可在所述输入面板上提供根据所述录音进行语音识别得到的文本。在所述输入法设置项完成录音之后,可将所述录音发送至所述输入面板,在所述输入面板中对所述录音进行语音识别得到对应的文本,并显示在所述输入面板上。或者,所述输入法设置项在完成录音后,直接对所述录音进行语音识别得到对应的文本,并将文本发送至所述输入面板,并将其显示在所述输入面板上。
本实施例通过根据用户操作生成启动录音指令,然后将所述启动录音指令传输至在后台运行的输入法设置项中,在所述输入法设置项完成录音,并提供根据所述录音进行语音识别得到的文本,这个过程无需跳转至输入法设置项中再根据用户操作进行录音,减少了用户的干预,能够提高语音输入效率。
在上述实施例的基础上,根据用户操作生成启动录音指令包括:
根据用户对输入法应用软件的输入面板的操作生成启动录音指令。
在上述实施例的基础上,将所述启动录音指令传输至所述输入法应用软件的在后台运行的输入法设置项中包括:
通过进程间通信将所述启动录音指令从输入面板对应的第一进程传输至所述输入法设置项的第二进程中。
由于所述输入法应用软件的输入面板和输入法设置项属于两个不同的进程,可采用通过进程间通信将所述启动录音指令从输入面板对应的第一进程传输至所述输入法设置项的第二进程中。例如,可采用的进程间通信包括但不限于以下任意一项:管道(pipe)、有名管道(named pipe)、信号量(semophore)、消息队列(message queue)、信号(sinal)和共享内存(shared memory)和套接字(socket)等。
在上述实施例的基础上,在所述输入面板上提供根据所述录音进行语音识别得到的文本包括:
接收所述输入法设置项返回的录音,在所述输入面板中对所述录音进行语音识别得到对应的文本,并显示在所述输入面板上;
或者,接收所述输入法设置项返回的根据录音识别得到的文本,将接收的文本显示在所述输入面板上。
在上述实施例的基础上,根据用户对输入法应用软件的输入面板的操作生成启动录音指令之前还包括:
在检测到终端中的目标软件调用所述输入法应用软件时,在所述目标软件中显示所述输入面板;
相应的,在所述输入面板上提供根据所述录音进行语音识别得到的文本之后还包括:
将所述输入面板上的文本输入至所述目标软件中。
其中,所述目标软件可以为系统软件(例如,终端中的短信应用、备忘录应用等),也可以为安装的应用软件(例如,QQ应用软件、微信应用软件、百度地图应用软件、百度搜索应用软件等)。
具体的,在终端中的一些目标软件调用输入法应用软件时,在所述目标软件中显示所述输入面板,并在所述输入面板上提供语音输入按钮,用户可以通过点击所述语音输入按钮,启动语音输入功能。在所述输入面板得到对应的文本之后将其输入至所述目标软件中。
在上述实施例的基础上,所述基于输入法应用软件的语音输入方法应用于IOS系统中。
在上述实施例的基础上,在所述输入法应用软件安装在终端之后,所述输入面板对应的进程可以被随时调用,而输入法设置项对应的进程有可能被用户杀死,而只有输入法设置具备录音功能,如果其对应的进程被杀死则使后台录音服务处于关闭状态,将不能完成后台录音,为便于验证所述后台录音服务是否处于开启状态,在根据用户对输入法应用软件的输入面板的操作生成启动录音指令之前还包括:
生成与所述输入面板和所述输入法设置项相关联的共享文件;
指示所述输入法设置项调用操作系统中的文件锁定指令锁定所述共享文件,以标记后台录音服务处于开启状态;或者,指示所述输入法设置项调用操作系统中的文件解锁指令解锁所述共享文件,以标记后台录音服务处于关闭状态。
其中,所述操作系统为IOS系统、或者IOS8以上的系统。
具体的,如果所述后台录音服务处于开启状态,则锁定所述共享文件,如果所述后台录音服务处于关闭状态,则解锁所述共享文件。这样在后续确定所述后台录音服务是否开启时,就可通过检测该共享文件来确定。
在上述实施例的基础上,根据用户对输入法应用软件的输入面板的操作生成启动录音指令包括:
如果检测所述共享文件处于锁定状态,则根据用户对输入法应用软件的输入面板的操作生成启动录音指令;
如果检测所述共享文件处于解锁状态,则触发执行启动后台录音服务的相关操作。
在上述实施例的基础上,触发执行启动后台录音服务的相关操作包括:
从所述目标软件跳转至所述输入法设置项,并将所述启动录音指令传输至所述输入法设置项,预设时间后指示所述输入法设置项根据所述启动录音指令开启录音功能,并在所述录音功能开启后指示所述输入法设置项调用操作系统的返回指令返回所述目标软件。
具体的,为使跳转操作不影响用户的操作,所述预设时间优选为几毫秒或几秒。或者,该跳转的步骤可在后台运行,使用户察觉不到。另外,对于一些操作系统(例如,IOS9以下的系统),为使启动后的后台录音服务能够准确的返回至目标软件,可将所述目标软件的软件标识(例如,bundleID)和所述启动录音指令一起传输至所述输入法设置项,预设时间后指示所述输入法设置项根据所述启动录音指令开启录音功能,并在所述录音功能开启后指示所述输入法设置项调用操作系统的返回指令,根据所述软件标识返回至所述目标软件。
在上述实施例的基础上,所述方法还包括:
在所述终端上提供开启/关闭所述输入法应用软件的选项,根据用户操作开启/关闭所述输入法应用软件。
上述实施例通过在输入法应用软件的输入面板生成启动录音指令,然后将所述启动录音指令传输至在后台运行的输入法设置项中,在所述输入法设置项完成录音,并在所述输入面板上提供根据所述录音进行语音识别得到的文本,这个过程无需跳转至输入法设置项中再根据用户操作进行录音,减少了用户的干预,能够提高语音输入效率。
实施例二
图3为本发明实施例三提供的一种基于输入法应用软件的语音输入方法的流程图,本实施例在上述实施例的基础上,根据用户对输入法应用软件的输入面板的操作生成启动录音指令之前,优选包括在检测到终端中的目标软件调用所述输入法应用软件时,在所述目标软件中显示所述输入面板;相应的,在所述输入面板上提供根据所述录音进行语音识别得到的文本之后,优选包括将所述输入面板上的文本输入至所述目标软件中。如图3所示,具体包括:
S201、在检测到终端中的目标软件调用所述输入法应用软件时,在所述目标软件中显示所述输入面板。
其中,该步骤显示的输入面板可类似于图1A所示,并在所述输入面板上提供语音输入按钮。其中,所述目标软件可为微信应用软件、QQ应用软件、短信应用等。
S202、根据用户对所述输入面板的操作生成启动录音指令。
S203、将所述启动录音指令传输至在后台运行的所述输入法应用软件的输入法设置项中,指示所述输入法设置项完成录音。
S204、在所述输入面板上提供根据所述录音进行语音识别得到的文本,并将所述输入面板上的文本输入至所述目标软件中。
例如,可在所述输入面板上提供文本输入栏以及发送按钮,可将所述文本显示在所述输入栏中,并点击所述发送按钮将文本输入至所述目标软件中。
本实施例通过在目标软件调用的输入面板中生成启动录音指令,然后将所述启动录音指令传输至在后台运行的输入法设置项中,在所述输入法设置项完成录音,并在所述输入面板上提供根据所述录音进行语音识别得到的文本,将所述输入面板上的文本输入至所述目标软件中。这个过程无需跳转至输入法设置项中再根据用户操作进行录音,减少了用户的干预,能够提高语音输入效率。
实施例三
图4为本发明实施例三提供的一种基于输入法应用软件的语音输入方法的流程图,本实施例在上述实施例的基础上,根据用户对输入法应用软件的输入面板的操作生成启动录音指令之前,优选包括检测共享文件的状态。如图4所示,具体包括:
S301、在检测到终端中的目标软件调用所述输入法应用软件时,在所述目标软件中显示所述输入面板。
S302、根据用户对所述输入面板的操作生成启动录音指令。
S303、如果检测所述共享文件处于解锁状态,从所述目标软件跳转至所述输入法设置项,并将所述启动录音指令和目标软件的软件标识传输至所述输入法设置项。
S304、预设时间后指示所述输入法设置项根据所述启动录音指令开启录音功能,指示所述输入法设置项完成录音。
具体的,可指示所述输入法设置项调用内部录音功能开启函数,将所述启动录音指令传入所述开启函数中,开启录音功能。在所述录音功能启动之后所述输入法设置时时处于监听状态,当监听到录音开始指令到达时则开始录音,当监听到录音结束指令到达时则停止录音。
S305、在所述录音功能开启后指示所述输入法设置项调用操作系统的返回指令根据所述软件标识返回所述目标软件。
其中,所述步骤S304和S305可同时执行。
S306、在所述输入面板上提供根据所述录音进行语音识别得到的文本,并将所述输入面板上的文本输入至所述目标软件中。
本实施例通过在目标软件通过调用输入法应用软件进行语音输入时,如果检测到后台录音服务功能处于关闭状态,则通过跳转的方式自动开启输入法设置项的录音功能,从而完成语音输入。这个过程减少了用户的干预,能够提高语音输入效率。
实施例四
图5所示为本发明实施例四提供的一种基于输入法应用软件的语音输入装置的结构示意图,该装置可采用软件或硬件的方式实现,该装置可集成于移动终端(例如手机、智能手机、平板电脑)和固定终端(例如,台式电脑或笔记本电脑)中,如图5所示,该装置的具体结构如下:录音指令生成模块41、录音模块42和文本提供模块43;
所述录音指令生成模块41用于根据用户操作生成启动录音指令;
所述录音模块42用于将所述启动录音指令传输至在后台运行的输入法应用软件的输入法设置项中,指示所述输入法设置项完成录音;
所述文本提供模块43用于提供根据所述录音进行语音识别得到的文本。
本实施例所述基于输入法应用软件的语音输入装置用于执行上述各实施例所述的基于输入法应用软件的语音输入方法,其技术原理和产生的技术效果类似,这里不再赘述。
在上述实施例的基础上,所述录音指令生成模块41具体用于,根据用户对输入法应用软件的输入面板的操作生成启动录音指令。
在上述实施例的基础上,所述录音模块42具体用于,通过进程间通信将所述启动录音指令从输入面板对应的第一进程传输至所述输入法设置项的第二进程中。
在上述实施例的基础上,所述文本提供模块43具体用于,接收所述输入法设置项返回的录音,在所述输入面板中对所述录音进行语音识别得到对应的文本,并显示在所述输入面板上;或者,接收所述输入法设置项返回的根据录音识别得到的文本,将接收的文本显示在所述输入面板上。
在上述实施例的基础上,所述装置还包括:输入法调用模块44和文本输入模块45;
所述输入法调用模块44用于在所述录音指令生成模块41根据用户对输入法应用软件的输入面板的操作生成启动录音指令之前,在检测到终端中的目标软件调用所述输入法应用软件时,在所述目标软件中显示所述输入面板;
相应的,所述文本输入模块45用于在所述文本提供模块43在所述输入面板上提供根据所述录音进行语音识别得到的文本之后,将所述输入面板上的文本输入至所述目标软件中。
在上述实施例的基础上,所述装置还包括:共享文件生成模块46和共享文件锁定/解锁模块47;
所述共享文件生成模块46用于在所述录音指令生成模块41根据用户对输入法应用软件的输入面板的操作生成启动录音指令之前,生成与所述输入面板和所述输入法设置项相关联的共享文件;
所述共享文件锁定/解锁模块47用于指示所述输入法设置项调用操作系统中的文件锁定指令锁定所述共享文件,以标记后台录音服务处于开启状态;或者,指示所述输入法设置项调用操作系统中的文件解锁指令解锁所述共享文件,以标记后台录音服务处于关闭状态。
在上述实施例的基础上,所述录音指令生成模块41包括:录音指令生成单元411和触发启动单元412;
所述录音指令生成单元411用于如果检测所述共享文件处于锁定状态,则根据用户对输入法应用软件的输入面板的操作生成启动录音指令;
所述触发启动单元412用于如果检测所述共享文件处于解锁状态,则触发执行启动后台录音服务的相关操作。
在上述实施例的基础上,所述触发启动单元412具体用于,从所述目标软件跳转至所述输入法设置项,并将所述启动录音指令传输至所述输入法设置项,预设时间后指示所述输入法设置项根据所述启动录音指令开启录音功能,并在所述录音功能开启后指示所述输入法设置项调用操作系统的返回指令返回所述目标软件。
在上述实施例的基础上,所述录音指令生成模块41具体用于,在所述输入面板上提供语音输入按钮;根据用户对所述语音输入按钮的点击操作生成启动录音指令。
在上述实施例的基础上,所述装置还包括:输入法开启/关闭模块48;
所述输入法开启/关闭模块48用于在所述终端上提供开启/关闭所述输入法应用软件的选项,根据用户操作开启/关闭所述输入法应用软件。
在上述实施例的基础上,所述基于输入法应用软件的语音输入方法应用于IOS系统中。
上述各实施例所述基于输入法应用软件的语音输入装置用于执行上述各实施例所述的基于输入法应用软件的语音输入方法,其技术原理和产生的技术效果类似,这里不再赘述。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。