我已经成功地将连续语音识别工作(使用SpeechRecognizer类)作为服务,适用于4.1以上的所有Android版本.我的问题是关于让它在版本4.1和4.2上运行,因为众所周知,有一个问题是,API没有按照文档识别启动后几秒钟的记录,如果没有检测到语音输入那么它就像如果语音识别器无声地死亡.(http://code.google.com/p/android/issues/detail?id=37883)
我找到了一个问题,提出解决这个问题的方法(语音识别在几秒钟后停止监听),但我不确定如何实现此解决方案所需的处理程序.我知道这种解决方法每隔几秒钟会发生一次"嘟嘟"声,但对我来说,获得连续的语音识别更为重要.
如果有人有任何其他替代解决方法,那么我也想听听.
当我调用对象的startListening方法时SpeechRecognizer,语音识别器开始收听语音.我想创建一个等待特定关键字语音的服务:当用户说出该关键字并且语音识别器检测到该关键字时,该服务就准备好接收用户语音命令.
为此,在SpeechRecognizer实例化之后,我应该调用它的startListening方法:我可以让语音识别器无限期地监听吗?
我试图使用Android包含的android.speech.SpeechRecognizer类对此进行编码,但没有成功.
基本上,我想要做的是让我的应用程序不断地监听一个关键字,当关键字被识别时,它将触发一个意图.我知道这将使用大量电池.
例如 - 您正在与一个人交谈.正常的谈话.手机正在主动收听并识别每个单词并听取关键字.
假设在这个例子中关键字是"cheese".
每当你说"奶酪"时,应用程序就会启动一个意图,启动应用程序的另一部分.
我曾尝试将语音识别作为一种服务,但事情并没有按计划进行.也许我犯了一个错误,我不知道.
我一直试图连续两天完成这项工作,超过24小时的工作时间合计.如果我过于宽泛或侵犯了SO的任何规则,我真诚地道歉并要求删除我的问题.
我的问题是 - 这怎么可能?当然,Android本身包含的SpeechRecognition会更好,但它肯定会很麻烦,因为它甚至不适合长时间工作.