语音转换会在一段时间后引发错误:
Grpc.Core.RpcException:Status(StatusCode = OutOfRange,Detail =“ Audio 超时错误:长时间没有音频。音频应该是 发送接近实时。“)
另一个错误是:
Grpc.Core.RpcException:Status(StatusCode = Cancelled,Detail =“ The 操作已取消。“)
如何避免这些错误?这两个错误都在起作用:
if (firstMessage == false) {
// var buffer = new byte[32 * 1024];
var buffer = new byte[4096];
int bytesRead;
while ((bytesRead = await outputStream.ReadAsync(
buffer, 0, buffer.Length)) > 0) {
await streamingCall.WriteAsync(
new StreamingRecognizeRequest() {
AudioContent = Google.Protobuf.ByteString
.CopyFrom(buffer, 0, bytesRead),
});
// await Task.Delay(100);
};
}
答案 0 :(得分:0)
您必须从streaming input做一些语音识别。此错误通常发生在流输入中有一段静默时间(例如10秒或更长时间)时,因此,它表示识别已结束并取消了操作。为避免这种情况,请确保将输入实时发送。