语音到文本引发错误音频超时错误:长时间没有音频。音频应实时发送

时间:2019-07-10 13:19:44

标签: google-cloud-speech

语音转换会在一段时间后引发错误:

  

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);
    };

}

1 个答案:

答案 0 :(得分:0)

您必须从streaming input做一些语音识别。此错误通常发生在流输入中有一段静默时间(例如10秒或更长时间)时,因此,它表示识别已结束并取消了操作。为避免这种情况,请确保将输入实时发送。