我可以像从 Android 一样从我的 java swing 程序向谷歌语音 api 发送请求吗?我的意思是如何在简单的 java 程序中使用 android 库。例如,只有一个 JFrame、jpanel、两个按钮:“开始”、“停止”和文本字段。如果是,请告诉我必须从什么开始。b
问问题
1227 次
1 回答
4
答案是否定的,您不能从桌面 Java Swing 程序中使用 Android 语音识别库。
相反,您可以使用 Google 语音识别网络服务,但请注意这不是官方支持的,它可能会在没有事先通知的情况下更改或删除(但不太可能,因为 Chrome 浏览器使用它来提供语音识别功能) .
要从 Java 中使用它,您需要将带有 FLAC 编码音频的 HTTP 请求发布到“ https://www.google.com/speech-api/v1/recognize ”。
构建请求的相关数据(带有示例值):
- HTTP方法:
POST
URL
:“ https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=en-US&maxresults=10&pfilter=0 ”xjerr
告诉语音服务器将错误作为 JSON 的一部分返回,而不是作为 HTTP 错误代码。client
AFAIK 并没有真正考虑到它,但是如果您说“铬”,那么您是安全的,因为似乎请求是从 Chromium 发送的lang
演讲的语言maxresults
返回的最大假设数pfilter
打开/关闭“安全”过滤器"Content-Type:audio/x-flac; rate=16000"
将 16000 替换为 FLAC 文件的频率(以 Hz 为单位)。
这样,您将收到一个带有语音引擎发现的不同假设(替代方案)的 JSON。
要从 Java 编码 FLAC 格式的文件,您可以使用诸如 jFLAC ( http://jflac.sourceforge.net/ ) 之类的库。
于 2013-10-11T15:04:40.553 回答