gpt4 book ai didi

android - 是否有 isListening() 方法或...如何实现 isListening()

转载 作者:太空狗 更新时间:2023-10-29 12:48:12 24 4
gpt4 key购买 nike

SpeechRecognizer类包括 isRecognitionAvailable()、startListening() 和 stopListening() 等方法,但没有检查它是否当前正在监听的方法。

我检查了 RecognitionListener类也是如此,它也没有这样的“isListening()”方法。

知道为什么吗?(例如,它没有用/没有意义,太容易被应用程序员实现等)

如果确实没有SDK API提供这个功能,那么实现这样一个“isListening()”方法的最佳方式是什么?

是否像在 onReadyForSpeech() 中设置一个 bool 值并在 onEndOfSpeech() 中清除它一样简单?

或者我需要更复杂的东西,比如计数器……甚至是 Atomic柜台?

最佳答案

首先,定义“听”。它是否从您开始:

  • 调用了 startListening() 吗?
  • 收到 onReadyForSpeech() 了吗?

我认为这两种(有效和有用的)场景之间的区别是将实现留给 API 用户的原因。

然后,正如@HoanNguyen所说,在RecognitionListener中声明一个boolean数据成员:

  • 在您调用 startListening() 之后立即设置它,或者在您输入 onReadyForSpeech() 时立即设置它。这是你的电话...
  • 在您调用 SpeechRecognizer.cancel() 之后在 onResults()、onError() 中重置它。

注意:正如@HoanNguyen 正确指出的那样,在您调用 stopListening() 之后立即重置该 bool 值是不正确的。

关于android - 是否有 isListening() 方法或...如何实现 isListening(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15623344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com