智能设备的外部设备接入的处理方法、装置及设备转让专利

申请号 : CN201910384018.9

文献号 : CN110111790A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨磊初德进孟凯

申请人 : 青岛海信电器股份有限公司

摘要 :

本申请提供一种智能设备的外部设备接入的处理方法、装置及设备,该方法包括:在通过ueventd进程创建所述外部设备对应的hidraw设备节点后,通过所述ueventd进程向应用空间的应用程序发送hidraw设备节点创建完成的消息;在所述应用程序接收到hidraw设备节点创建完成的消息后,所述应用程序对所述hidraw设备节点执行相应的操作。保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。

权利要求 :

1.一种智能设备的外部设备接入的处理方法,其特征在于,包括:在通过ueventd进程创建所述外部设备对应的hidraw设备节点后,通过所述ueventd进程向应用空间的应用程序发送hidraw设备节点创建完成的消息;

在所述应用程序接收到hidraw设备节点创建完成的消息后,所述应用程序对所述hidraw设备节点执行相应的操作。

2.根据权利要求1所述的方法,其特征在于,在通过所述ueventd进程向应用程序发送hidraw设备节点创建完成的消息之前,所述方法还包括:通过所述ueventd进程获取内核kernel上报的uevent事件,所述uevent事件包括接入的所述外部设备的设备信息;

通过所述ueventd进程根据所述外部设备的设备信息,创建对应的hidraw设备节点。

3.根据权利要求2所述的方法,其特征在于,在通过所述ueventd进程获取内核kernel上报的uevent事件之前,所述方法还包括:通过UHID节点获取所述外部设备的设备信息,并传递给所述kernel;

通过所述kernel生成对应的uevent事件,并上报给所述ueventd进程。

4.根据权利要求1所述的方法,其特征在于,所述通过所述ueventd进程向应用程序的进程发送hidraw设备节点创建完成的消息,包括:通过所述ueventd进程与所述应用程序之间创建socket,向所述应用程序发送hidraw设备节点创建完成的消息。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当kernel向所述hidraw设备节点写入语音数据后,所述应用程序从所述hidraw设备节点读取所述语音数据,并对所述语音数据进行语音识别处理。

6.根据权利要求1-5任一项所述的方法,其特征在于,所述智能设备为智能电视,所述外部设备为蓝牙遥控器。

7.一种智能设备的外部设备接入的处理装置,其特征在于,包括:发送模块,用于在通过ueventd进程创建所述外部设备对应的hidraw设备节点后,通过所述ueventd进程向应用空间的应用程序发送hidraw设备节点创建完成的消息;

处理模块,用于在所述应用程序接收到hidraw设备节点创建完成的消息后,所述应用程序对所述hidraw设备节点执行相应的操作。

8.根据权利要求7所述的装置,其特征在于,所述发送模块,具体用于:通过所述ueventd进程与所述应用程序之间创建socket,向所述应用程序发送hidraw设备节点创建完成的消息。

9.一种智能设备,其特征在于,包括:至少一个处理器和存储器;

所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-6中任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任一项所述的方法。

说明书 :

智能设备的外部设备接入的处理方法、装置及设备

技术领域

[0001] 本申请涉及智能设备技术领域,尤其涉及一种智能设备的外部设备接入的处理方法、装置及设备。

背景技术

[0002] 随着科技的飞速发展,智能电视逐渐进入人们的生活中,随着人工智能的不断发展,智能电视已实现与用户进行语音交互的功能。
[0003] 但是,目前,智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低,语音识别仍有一定的失败率,严重影响了用户体验。

发明内容

[0004] 本申请提供一种智能设备的外部设备接入的处理方法、装置及设备,以解决现有技术语音识别失败等缺陷。
[0005] 本申请第一个方面提供一种智能设备的外部设备接入的处理方法,包括:
[0006] 在通过ueventd进程创建所述外部设备对应的hidraw设备节点后,通过所述ueventd进程向应用空间的应用程序发送hidraw设备节点创建完成的消息;
[0007] 在所述应用程序接收到hidraw设备节点创建完成的消息后,所述应用程序对所述hidraw设备节点执行相应的操作。
[0008] 可选地,在通过所述ueventd进程向应用程序发送hidraw设备节点创建完成的消息之前,所述方法还包括:
[0009] 通过所述ueventd进程获取内核kernel上报的uevent事件,所述uevent事件包括接入的所述外部设备的设备信息;
[0010] 通过所述ueventd进程根据所述外部设备的设备信息,创建对应的hidraw设备节点。
[0011] 可选地,在通过所述ueventd进程获取内核kernel上报的uevent事件之前,所述方法还包括:
[0012] 通过UHID节点获取所述外部设备的设备信息,并传递给所述kernel;
[0013] 通过所述kernel生成对应的uevent事件,并上报给所述ueventd进程。
[0014] 可选地,所述通过所述ueventd进程向应用程序的进程发送hidraw设备节点创建完成的消息,包括:
[0015] 通过所述ueventd进程与所述应用程序之间创建socket,向所述应用程序发送hidraw设备节点创建完成的消息。
[0016] 可选地,所述方法还包括:
[0017] 当所述kernel向所述hidraw设备节点写入语音数据后,所述应用程序从所述hidraw设备节点读取所述语音数据,并对所述语音数据进行语音识别处理。
[0018] 可选地,所述智能设备为智能电视,所述外部设备为蓝牙遥控器。
[0019] 本申请第二个方面提供一种智能设备的外部设备接入的处理装置,包括:
[0020] 发送模块,用于在通过ueventd进程创建所述外部设备对应的hidraw设备节点后,通过所述ueventd进程向应用空间的应用程序发送hidraw设备节点创建完成的消息;
[0021] 处理模块,用于在所述应用程序接收到hidraw设备节点创建完成的消息后,所述应用程序对所述hidraw设备节点执行相应的操作。
[0022] 可选地,所述装置还包括:
[0023] 第一获取模块,用于通过所述ueventd进程获取内核kernel上报的uevent事件,所述uevent事件包括接入的所述外部设备的设备信息;
[0024] 创建模块,用于通过所述ueventd进程根据所述外部设备的设备信息,创建对应的hidraw设备节点。
[0025] 可选地,所述装置还包括:
[0026] 第二获取模块,用于通过UHID节点获取所述外部设备的设备信息,并传递给所述kernel;
[0027] 生成模块,用于通过所述kernel生成对应的uevent事件,并上报给所述ueventd进程。
[0028] 可选地,所述发送模块,具体用于:
[0029] 通过所述ueventd进程与所述应用程序之间创建socket,向所述应用程序发送hidraw设备节点创建完成的消息。
[0030] 可选地,所述处理模块,还用于:
[0031] 当所述kernel向所述hidraw设备节点写入语音数据后,所述应用程序从所述hidraw设备节点读取所述语音数据,并对所述语音数据进行语音识别处理。
[0032] 可选地,所述智能设备为智能电视,所述外部设备为蓝牙遥控器。
[0033] 本申请第三个方面提供一种智能设备,包括:至少一个处理器和存储器;
[0034] 所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。
[0035] 本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。
[0036] 本申请提供的智能设备的外部设备接入的处理方法、装置及设备,通过在ueventd进程创建外部设备对应的hidraw设备节点后,通知应用程序创建完成的消息,应用程序在接收到hidraw设备节点创建完成的消息后,再执行打开hidraw设备节点读取数据等操作,保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。

附图说明

[0037] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1为蓝牙遥控器接入智能电视的常用流程示意图;
[0039] 图2为本申请一实施例提供的智能设备的外部设备接入的处理方法的流程示意图;
[0040] 图3为本申请另一实施例提供的智能设备的外部设备接入的处理方法的流程示意图;
[0041] 图4为本申请一实施例提供的蓝牙遥控器接入智能电视的流程示意图;
[0042] 图5为本申请一实施例提供的智能设备的外部设备接入的处理装置的结构示意图;
[0043] 图6为本申请一实施例提供的智能设备的结构示意图。
[0044] 通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

[0045] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0046] 首先对本申请所涉及的名词进行解释:
[0047] HID:Human Interface Device,人机接口设备,是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。交换的数据存储在称为报表(report)的结构内,设备的固件必须支持HID报表的格式。主机在控制与中断传输中传送与要求报表,来传送与接收数据。报表的格式非常有弹性,可以处理任何类别的数据。本申请中HID设备是指能够通过蓝牙与人进行交互的设备。
[0048] hidraw设备节点是在内核kernel中创建的节点。
[0049] UHID节点:是蓝牙协议栈与kernel交互的接口,对于蓝牙的HID,智能设备连接蓝牙后,检测到HID的服务会经UHID节点传递给内核。具体为,蓝牙协议栈往/dev/uhid节点(也即UHID节点)写数据,kernel通过UHID这个节点获取信息。
[0050] kernel:操作系统内核操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。
[0051] uevent:user space event,用户空间(也即应用空间)事件,是一种在内核空间和用户空间之间通信的机制。也就是说在某个时刻触发某个事件并通知给用户空间。主要用于热插拔事件(hotplug)。常用的电量通知、usb拔插通知、耳机拔插通知等都可以使用uevent。
[0052] ueventd:在用户空间的用于创建hidraw设备节点的进程。
[0053] 本申请实施例提供的智能设备的外部设备接入的处理方法,适用于在外部设备接入智能设备时,在kernel中创建hidraw设备节点,以使应用程序能够成功打开hidraw设备节点读取数据的应用场景。其中,智能设备可以为智能电视或智能移动终端等,智能移动终端可以是智能手机、平板电脑等设备。外部设备可以为蓝牙遥控器。比如,当打开智能电视的蓝牙,连接蓝牙遥控器时,蓝牙遥控器的设备信息经UHID节点传递给kernel,kernel生成uevent事件上报给应用空间的ueventd,ueventd创建hidraw设备节点,并在创建完后通知应用程序,以使应用程序可以打开hidraw设备节点读取相应的数据。
[0054] 此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
[0055] 下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
[0056] 针对现有技术中,智能电视语音识别仍有一定失败率的情况,经过不懈努力的研究分析发现,有一部分语音识别失败的原因是应用程序打开hidraw设备节点失败造成的。经研究发现,当前蓝牙遥控器接入智能电视的流程如下:
[0057] 如图1所示,为蓝牙遥控器接入智能电视的常用流程示意图。其中,应用程序可以是讯飞。当打开智能电视的蓝牙开关,开启智能电视的蓝牙功能,连接蓝牙遥控器时,在kernel中就会使用device_create上报创建hidraw设备节点的uevent事件,应用程序(讯飞)和ueventd都会接收到该uevent事件,ueventd接收到该事件后会创建hidraw设备节点,讯飞接收到该事件后会去打开hidraw设备节点,打开成功(Y)则读取数据,打开失败(N)则退出,但是会概率性出现ueventd还没有完成创建hidraw设备节点,导致出现讯飞概率性打开hidraw设备节点失败的问题,从而导致语音识别失败。
[0058] 针对上述应用程序可能打开hidraw设备节点失败,从而导致语音识别失败的问题,本申请实施例提供一种改进的处理方法,来解决上述问题。
[0059] 实施例一
[0060] 本实施例提供一种智能设备的外部设备接入的处理方法,用于在外部设备接入智能设备时,保证应用程序能够成功打开外部设备对应的hidraw设备节点,读取其中的数据。本实施例的执行主体为智能设备的外部设备接入的处理,该装置可以设置在智能设备中。
该智能设备可以为智能电视、智能手机、平板电脑等等
[0061] 如图2所示,为本实施例提供的智能设备的外部设备接入的处理方法的流程示意图,该方法包括:
[0062] 步骤101,在通过ueventd进程创建外部设备对应的hidraw设备节点后,通过ueventd进程向应用空间的应用程序发送hidraw设备节点创建完成的消息。
[0063] 具体的,当ueventd进程创建外部设备对应的hidraw设备节点后,可以向应用空间的应用程序发送hidraw设备节点创建完成的消息,以通知应用程序hidraw设备节点已创建完成。
[0064] 步骤102,在应用程序接收到hidraw设备节点创建完成的消息后,应用程序对hidraw设备节点执行相应的操作。
[0065] 具体的,kernel生成的创建hidraw设备节点的uevent事件不再上报给应用程序,而是由ueventd在创建完成后通知应用程序。应用程序接收到hidraw设备节点创建完成的消息后,再对hidraw设备节点执行打开、读取等操作。避免应用程序要打开hidraw设备节点时,ueventd还未创建完成的情况发生。
[0066] hidraw设备节点创建完成后,用户通过外部设备输入的语音数据,写入kernel的hidraw设备节点中,当应用程序需要使用语音数据时,从hidraw设备节点中读取语音数据,进行语音识别,从而获得用户的语义,为用户提供相应的服务。
[0067] 可选地,ueventd可以通过与应用程序之间创建socket来实现与应用程序的通信。
[0068] 具体的进程间socket通信的过程如下:
[0069] ueventd和应用程序两个进程,ueventd当作服务器,应用程序的进程当作客户端。
[0070] (a)服务器端
[0071] 首先服务器进程通过系统调用socket来创建一个套接字,它是系统分配给该服务器进程的类似文件描述的资源,它不能与其他的进程共享。
[0072] 接下来服务器进程会给套接字起个名字,使用系统调用bind来给套接字命名,然后服务器进程就开始等待客户端连接到这个套接字。
[0073] 然后,系统调用listen来创建一个队列并将其用于存放来自客户端的进入连接。
[0074] 最后,服务器通过系统调用accept来接受客户端的连接,它会创建一个与原有的命名套接字不同的新套接字,这个新套接字只用于这个特定客户端进行通信,而命名套接字(即原先的套接字)则被保留下来继续处理来自其他客户端的连接。
[0075] (b)客户端
[0076] 基于socket的客户端应用程序首先调用socket来创建一个未命名的套接字,然后将服务器的命名套接字作为一个地址来调用connect与服务器建立连接。
[0077] 一旦连接建立,就可以像使用底层的文件描述符那样用套接字来实现双向数据的通信。
[0078] 进程间通过创建socket进行通信的方式为现有技术,在此不再赘述。
[0079] 本实施例提供的智能设备的外部设备接入的处理方法,通过在ueventd进程创建外部设备对应的hidraw设备节点后,通知应用程序创建完成的消息,应用程序在接收到hidraw设备节点创建完成的消息后,再执行打开hidraw设备节点读取数据等操作,保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。
[0080] 实施例二
[0081] 本实施例对实施例一提供的方法做进一步补充说明。
[0082] 如图3所示,为本实施例提供的智能设备的外部设备接入的处理方法的流程示意图.
[0083] 作为一种可实施的方式,在上述实施例一的基础上,可选地,在步骤101之前,该方法还包括:
[0084] 步骤2011,通过ueventd进程获取内核kernel上报的uevent事件,uevent事件包括接入的外部设备的设备信息。
[0085] 步骤2012,通过ueventd进程根据外部设备的设备信息,创建对应的hidraw设备节点。
[0086] 具体的,外部设备接入时,kernel会上报创建hidraw设备节点的uevent事件,上层ueventd接收到该uevent事件后会在/dev下创建hidraw设备节点。
[0087] 可选地,在步骤2011之前,该方法还包括:
[0088] 步骤2021,通过UHID节点获取外部设备的设备信息,并传递给kernel。
[0089] 步骤2022,通过kernel生成对应的uevent事件,并上报给ueventd进程。
[0090] 作为另一种可实施的方式,在上述实施例一的基础上,可选地,通过ueventd进程向应用程序的进程发送hidraw设备节点创建完成的消息,包括:
[0091] 通过ueventd进程与应用程序之间创建socket,向应用程序发送hidraw设备节点创建完成的消息。
[0092] 具体的,ueventd可以通过与应用程序之间创建socket来实现与应用程序的通信。
[0093] 具体的进程间socket通信的过程如下:
[0094] ueventd和应用程序两个进程,ueventd当作服务器,应用程序的进程当作客户端。
[0095] (a)服务器端
[0096] 首先服务器进程通过系统调用socket来创建一个套接字,它是系统分配给该服务器进程的类似文件描述的资源,它不能与其他的进程共享。
[0097] 接下来服务器进程会给套接字起个名字,使用系统调用bind来给套接字命名,然后服务器进程就开始等待客户端连接到这个套接字。
[0098] 然后,系统调用listen来创建一个队列并将其用于存放来自客户端的进入连接。
[0099] 最后,服务器通过系统调用accept来接受客户端的连接,它会创建一个与原有的命名套接字不同的新套接字,这个新套接字只用于这个特定客户端进行通信,而命名套接字(即原先的套接字)则被保留下来继续处理来自其他客户端的连接。
[0100] (b)客户端
[0101] 基于socket的客户端应用程序首先调用socket来创建一个未命名的套接字,然后将服务器的命名套接字作为一个地址来调用connect与服务器建立连接。
[0102] 一旦连接建立,就可以像使用底层的文件描述符那样用套接字来实现双向数据的通信。
[0103] 进程间通过创建socket进行通信的方式为现有技术,在此不再赘述。
[0104] 作为另一种可实施的方式,在上述实施例一的基础上,可选地,该方法还包括:
[0105] 当kernel向hidraw设备节点写入语音数据后,应用程序从hidraw设备节点读取语音数据,并对语音数据进行语音识别处理。
[0106] 具体的,hidraw设备节点创建完成后,用户通过外部设备输入的语音数据,写入kernel的hidraw设备节点中,当应用程序需要使用语音数据时,从hidraw设备节点中读取语音数据,进行语音识别,从而获得用户的语义,为用户提供相应的服务。
[0107] 作为另一种可实施的方式,在上述实施例一的基础上,可选地,智能设备为智能电视,外部设备为蓝牙遥控器。
[0108] 作为一种可实施的方式,示例性的,如图4所示,为本实施例提供的蓝牙遥控器接入智能电视的流程示意图。
[0109] 当打开智能电视的蓝牙开关,开启智能电视的蓝牙功能,连接蓝牙遥控器时,在kernel中就会使用device_create上报创建hidraw设备节点的uevent事件,ueventd会接收到该uevent事件,ueventd接收到该事件后会在/dev下创建hidraw设备节点,在创建完成后,创建socket,通知应用程序(讯飞)hidraw设备节点已创建完成。讯飞接收到hidraw设备节点已创建完成的消息后会去打开hidraw设备节点,保证讯飞打开hidraw设备节点成功,打开成功(Y)则读取数据,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。
[0110] 需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
[0111] 本实施例提供的智能设备的外部设备接入的处理方法,通过在ueventd进程创建外部设备对应的hidraw设备节点后,通知应用程序创建完成的消息,应用程序在接收到hidraw设备节点创建完成的消息后,再执行打开hidraw设备节点读取数据等操作,保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。
[0112] 实施例三
[0113] 本实施例提供一种智能设备的外部设备接入的处理装置,用于执行上述实施例一的方法。
[0114] 如图5所示,为本实施例提供的智能设备的外部设备接入的处理装置的结构示意图。该智能设备的外部设备接入的处理装置30包括发送模块31和处理模块32。
[0115] 其中,发送模块,用于在通过ueventd进程创建外部设备对应的hidraw设备节点后,通过ueventd进程向应用空间的应用程序发送hidraw设备节点创建完成的消息;处理模块,用于在应用程序接收到hidraw设备节点创建完成的消息后,应用程序对hidraw设备节点执行相应的操作。
[0116] 关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0117] 根据本实施例提供的智能设备的外部设备接入的处理装置,通过在ueventd进程创建外部设备对应的hidraw设备节点后,通知应用程序创建完成的消息,应用程序在接收到hidraw设备节点创建完成的消息后,再执行打开hidraw设备节点读取数据等操作,保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。
[0118] 实施例四
[0119] 本实施例对上述实施例三提供的装置做进一步补充说明。
[0120] 作为一种可实施的方式,在上述实施例三的基础上,可选地,该装置还包括第一获取模块和创建模块。
[0121] 其中,第一获取模块,用于通过ueventd进程获取内核kernel上报的uevent事件,uevent事件包括接入的外部设备的设备信息;创建模块,用于通过ueventd进程根据外部设备的设备信息,创建对应的hidraw设备节点。
[0122] 可选地,该装置还包括第二获取模块和生成模块。
[0123] 其中,第二获取模块,用于通过UHID节点获取外部设备的设备信息,并传递给kernel;生成模块,用于通过kernel生成对应的uevent事件,并上报给ueventd进程。
[0124] 作为另一种可实施的方式,在上述实施例三的基础上,可选地,发送模块,具体用于:通过ueventd进程与应用程序之间创建socket,向应用程序发送hidraw设备节点创建完成的消息。
[0125] 作为另一种可实施的方式,在上述实施例三的基础上,可选地,处理模块,还用于当kernel向hidraw设备节点写入语音数据后,应用程序从hidraw设备节点读取语音数据,并对语音数据进行语音识别处理。
[0126] 关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0127] 需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
[0128] 根据本实施例的智能设备的外部设备接入的处理装置,通过在ueventd进程创建外部设备对应的hidraw设备节点后,通知应用程序创建完成的消息,应用程序在接收到hidraw设备节点创建完成的消息后,再执行打开hidraw设备节点读取数据等操作,保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。
[0129] 实施例五
[0130] 本实施例提供一种智能设备,用于执行上述实施例提供的方法。
[0131] 如图6所示,为本实施例提供的智能设备的结构示意图。该智能设备50包括:至少一个处理器51和存储器52;
[0132] 存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的方法。
[0133] 根据本实施例的智能设备,通过在ueventd进程创建外部设备对应的hidraw设备节点后,通知应用程序创建完成的消息,应用程序在接收到hidraw设备节点创建完成的消息后,再执行打开hidraw设备节点读取数据等操作,保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。
[0134] 实施例六
[0135] 本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的方法。
[0136] 根据本实施例的计算机可读存储介质,通过在ueventd进程创建外部设备对应的hidraw设备节点后,通知应用程序创建完成的消息,应用程序在接收到hidraw设备节点创建完成的消息后,再执行打开hidraw设备节点读取数据等操作,保证应用程序不会打开hidraw设备节点失败,解决了现有技术中智能电视在断网环境下的本地语音识别能力较弱,进行连续的操控时,识别率会降低的技术问题,有效提高了语音识别的成功率。
[0137] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0138] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0139] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0140] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0141] 本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0142] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。