【发布时间】:2017-05-01 18:23:30
【问题描述】:
我正在使用 node.js 客户端库,特别是 startRecognition 方法,为了获得结果,我使用了 Speech.operation。但是,我得到以下结果而不是结果 - 查看包含一些编码字符串而不是 JavaScript 对象的“值”对象。
{ result: 'response',
name: '3939860839213416358',
metadata:
{ typeUrl: 'type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata',
value: 'CGQSCwiKx47IBRCg6pRuGgsIqM6OyAUQgO+vYQ==' },
done: true,
error: null,
response:
{ typeUrl: 'type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse',
value: 'EoQaCtICCsoCVGhleSBzbWFsbCBsYXRlc3QgZW52aXJvbm1lbnQuIFdlIGhhdmUgYSBjb3Jwb3JhdGUgYnVzaW5lc3Mgc2VydmljZSBhbmQgdGhlcmVmb3Jl' } }
有人看过吗?这是一个错误吗?还是有办法将其解码为 JavaScript 对象?
这是一个演示问题的代码sn-p:
var Speech = require('@google-cloud/speech')({
projectId: 'my project name',
keyFilename: '<key file name>.json'
});
var opName='';
var config = {
encoding: 'LINEAR16',
sampleRateHertz: 48000,
languageCode: 'en-US',
maxAlternatives: 10
};
asyncGoogleASR('gs://file-location',config);
function asyncGoogleASR(googleCloudURI,request) {
Speech.startRecognition(googleCloudURI, request,async_callback);
}
function async_callback(err, operation, apiResponse) {
if (err) {
console.log(err);
}
opName=operation.latestResponse.name;
operation
.on('error', function(err) {
console.log("error");
console.log(err);
})
.on('complete', function(results) {
console.log(results); // this works okay
var op = Speech.operation(opName);
op
.on('error', function(err) {
console.log("error");
console.log(err);
})
.on('complete', function(results) {
console.log(results); // this prints garbage
});
});
}
【问题讨论】:
-
你能在你提出请求的地方显示代码吗?
-
刚刚更新了帖子,添加了我正在使用的代码
标签: node.js google-cloud-speech