更新:
这是一个工作示例:
https://gist.github.com/DazWilkin/34d628b998b4266be818ffb3efd688aa
您只需要插入服务帐户 key.json 的值并应该收到:
{
alternatives: [{
confidence: 0.9835046,
transcript: how old is the Brooklyn Bridge
}]
}
记录不充分:-(
我熟悉 Google API 开发,但 不熟悉 Dart和 Google Speech-to-Text API,所以,提前道歉。
见:
https://github.com/dart-lang/googleapis/tree/master/generated/googleapis
Google SDK|库有 2 种风格,更常见的(API 客户端库)和新的(云 [!] 客户端库)。 IIUC,对于语音的 Dart,您将使用 API 客户端库,而这不使用 gRPC。
我将根据直觉调整样本,请耐心等待:
import 'package:googleapis/speech/v1.dart';
import 'package:googleapis_auth/auth_io.dart';
final _credentials = new ServiceAccountCredentials.fromJson(r'''
{
"private_key_id": ...,
"private_key": ...,
"client_email": ...,
"client_id": ...,
"type": "service_account"
}
''');
const _SCOPES = const [SpeechApi.CloudPlatformScope];
void main() {
clientViaServiceAccount(_credentials, _SCOPES).then((http_client) {
var speech = new SpeechApi(http_client);
speech...
});
}
这需要创建一个具有适当权限的服务帐户并为其生成一个 (JSON) 密钥。通常,密钥文件由代码加载,但在此示例中,它以字符串文字的形式提供。该密钥将为fromJson 提供内容。您应该(!)能够使用应用程序默认凭据进行测试(更容易)请参阅下面的链接。
不知何故(!)Dart API 将包含一个方法|函数,它可以进行这个底层 REST 调用。调用需要一些配置和音频:
https://cloud.google.com/speech-to-text/docs/reference/rest/v1/speech/recognize
我怀疑是这个recognize,它需要一个RecognizeRequest
很抱歉,我无法提供更多帮助。
如果您确实可以使用,请考虑发布相同的内容,以便其他人受益。
注意