我无法通过任何方法停止streamingRecognize
。我尝试取消流传输,尝试取消设置客户端,但仍然收到“音频超时错误:”。有什么方法可以停止识别?
答案 0 :(得分:0)
如果有人以这种方式遇到相同的问题,我可以无错误地停止它:
let recognizeStream = client
.streamingRecognize(request)
.on('error', console.error)
.on('data', data =>
{
console.log(data.results[0].alternatives[0].transcript);
// first stop the microphone stream
micInstance.stop();
//call again to client.streamingRecognize with request set to null
client.streamingRecognize(null);
}
);
但是现在我得到一个错误响应:[4]在node_modules / grpc / src / common.js:91:15上的DEADLINE_EXCEEDED)
答案 1 :(得分:0)
当我们呼叫streamingRecognize()时,返回给我们的是输入stream。然后,只要有输入,我们就将数据记录推入流中。当我们发送完所有希望发送的数据后,我们必须指示语音给文本处理器,不再有要处理的数据。为此,我们调用流的end()方法。
在您的示例片段中:
let recognizeStream = client
.streamingRecognize(request)
.on('error', console.error)
.on('data', data =>
{
console.log(data.results[0].alternatives[0].transcript);
recognizeStream.end();
}
);