- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
每当我运行此代码并告诉启动函数“google”时,它都会返回到另一个函数。我已经尝试这样做几天了,但仍然没有运气。任何帮助将不胜感激:)
import webbrowser
import string
import time
import pyttsx3
import speech_recognition as sr
engine = pyttsx3.init()
r = sr.Recognizer()
def Listen():
with sr.Microphone() as sourceL:
print("Listening...")
Open = r.listen(sourceL, phrase_time_limit=2)
try:
if "Nova" in r.recognize_google(Open):
print("Nova Recieved...")
Command()
else:
Listen()
except:
Listen()
def Google():
print("what would you like me to search for you? ")
engine.say("what would you like me to search for you? ")
engine.runAndWait()
with sr.Microphone as source:
Search = r.listen(source)
Search = r.recognize(Search)
代码将返回到 Listen() 处的,以 sr.Mirophone 作为源
这就是我调用 google() 的方式...
def Command():
print("You called me?")
engine.say("you called me? ")
engine.runAndWait()
Cr = sr.Recognizer()
with sr.Microphone() as source:
print("Listening For Command...")
CommandToDo = Cr.listen(source, phrase_time_limit=2)
print("...")
if "YouTube" in Cr.recognize_google(CommandToDo):
YouTube()
elif "Google" in Cr.recognize_google(CommandToDo):
Google()
else:
print("Command not recognized>> " + r.recognize_google(CommandToDo))
最佳答案
在 Google
函数中调用 listen
方法时,您需要指定一个函数参数 phrase_time_limit
。phrase_time_limit
表示程序的等待时间,等待用户输入的秒数。在这里它将等待 2 秒。如果您不给出任何时间限制,它将无限期地等待。
来自源代码文档:
The
phrase_time_limit
parameter is the maximum number of seconds that this will allow a phrase to continue before stopping and returning the part of the phrase processed before the time limit was reached. The resulting audio will be the phrase cut off at the time limit. Ifphrase_timeout
isNone
, there will be no phrase time limit.
澄清timeout
参数
The
timeout
parameter is the maximum number of seconds that this will wait for a phrase to start before giving up and throwing anspeech_recognition.WaitTimeoutError
exception. Iftimeout
isNone
, there will be no wait timeout.
更多详情请查看the source code.
def Google():
print("what would you like me to search for you? ")
engine.say("what would you like me to search for you? ")
engine.runAndWait()
with sr.Microphone() as source:
Search = r.listen(source, phrase_time_limit=2) # <-- Here
Search = r.recognize_google(Search)
print(Search)
此更改后,它对我有用。
检查它是以 sr.Microphone() 作为来源:
不是以 sr.Microphone 作为来源:
。你没戴牙套。
关于python - 转到另一个功能后,我的麦克风会恢复收听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50428100/
我有监听 unix 套接字的进程。但是,在我阅读之前,我想检查一些有关此传入消息的元数据,例如它的源进程(比如我想删除来自不受信任的发件人的消息)。是否有任何系统调用可以检索此信息。 if(l
我目前正在开发一个使用 Spring AMQP 和 RabbitMQ 的 Java 应用程序,我想监控我的队列并在某些事件发生时得到通知,比如 元素已添加到队列中, 元素被移除,或者 元素再次进入队列
我正在使用如下定义的 spring jms 监听器。它通常工作正常,但我看到它根据 recieveTimeout 设置不断断开连接和重新连接。
我如何在 Java 中监听原始打印机端口 9100。 当我在端口 9100 上创建 ServerSocket 并接受连接时,当我尝试打印到此端口时,没有任何反应。 System.out.println
问题在标题中,但要详细说明一下。如果我使用 Sun/Oracle NIO API 或类似 Netty 的框架在 Java 中编写 NIO 应用程序,是否可以让客户端作为订阅者“连接”,即使没有服务器绑
我需要收听来自 UDP 的网络广播。数据报包含一个 j4cDAC_broadcast 结构。我尝试按照一些教程进行操作,但它们似乎遗漏了一些内容并且没有非常详细的解释(如果有的话)。 我现在得到的是错
我目前正在通过带有参数的拨号协议(protocol)启动 Amazon FireTV 应用程序。可以通过这样的 Intent 在 onCreate() 中访问此参数: Intent intent =
我想听游标的任何变化。是否可以在不使用 android 中的 contentprovider 的情况下实现这一目标? 注意:(我没有使用任何数据适配器) 谢谢 最佳答案 我发现你不需要使用内容提供者。
我想在 Linux 上使用 C 中的 Libpcap 编写一个小型应用程序。 目前,它开始嗅探并等待数据包。但这并不是我真正需要的。我希望它等待 N 秒然后停止收听。 我怎样才能做到这一点? 这是我的
如何在用户关闭 Modal Bottom Sheet 时执行一段代码? showModalBottomSheet( context: context, buil
我如何在 B 类中监听来自 A 类的 PropertyChanged 事件?我想听听 A 类的属性变化。 class A : INotifyPropertyChanged { priv
当新 Activity 开始或android中的任何任务时,有没有办法通过广播或任何其他方式接收事件? 谢谢马哈茂德 最佳答案 您想做什么,一些分析或日志记录或其他什么? 好吧,如果您要监控的是您自己
我在 SWT 事件方面遇到了困难。 有没有办法在 Combo 关闭时收到通知?我需要知道它何时关闭并且选择没有更改。 我注意到有一个事件类型 SWT.Collapse,但据我所知,这只适用于 Tree
我有一个套接字,我正在尝试从客户端向服务器发送信息。两者位于同一网络,具有不同的 LAN IP(如下所示): 我的服务器是我的 C# 应用程序。 - 192.168.0.2我的客户端是我的 Andro
我是 Gstreamer 的新手,我想用它来收听 RTP 流。 为此,我使用此管道: gst-launch-1.0 udpsrc caps=application/x-rtp port=5000 !
我有一个包含大量所有级别日志记录的应用程序。我希望向 Log.Fatal 调用添加一些自定义行为。如果不构建自定义 Appender 是否可以做到这一点? 我试过这个: log4net.Uti
我有我的 android 应用程序,它监听浏览器 Intent ,以便在用户单击某种类型的 URI 时捕获它们。更具体地说,我希望我的应用程序在用户单击指向 torrent 文件的超链接(例如 htt
我想做的是以下内容:一个服务,持续监听 gps(是的:JUST gps)位置更新而不主动请求它们 - 即这个应用程序不应该消耗额外的资源电池生命周期或 CPU 时间,直到其他应用程序请求/接收 GPS
我有一个 Bootstrap 5 accordion看起来像这样: Bar ... 我正
我是 tweepy 的新手。并尝试实现一个 API,它可以监听新推文中的@提及或屏幕名称。 tweets = api.user_timeline(screen_name=username) 但它没有收
我是一名优秀的程序员,十分优秀!