Google Speech Api 2错误400错误请求

时间:2015-05-23 19:24:25

标签: c# .net api google-api-client

我正在尝试使用Google Speech API将语音转换为文本。我有一个示例代码,它适用于默认文件(good-morning-google.flac)。但是当我用我的声音更改文件时,我收到错误400错误请求。我认为在更改此行中的格式文件时会发生问题

 _HWR_SpeechToText.ContentType = "audio/x-pcm;bit=16;rate=16000";  //"audio/x-wav";// "audio/x-flac; rate=44100";

我的代码是

  private void button1_Click(object sender, EventArgs e)
    {
         try
    {

        FileStream fileStream = File.OpenRead("c:\\Test0001.wav");// ("c:\\good-morning-google.flac");
        MemoryStream memoryStream = new MemoryStream();
        memoryStream.SetLength(fileStream.Length);
        fileStream.Read(memoryStream.GetBuffer(), 0, (int)fileStream.Length);
        byte[] BA_AudioFile = memoryStream.GetBuffer();
        HttpWebRequest _HWR_SpeechToText = null;
        _HWR_SpeechToText =
                    (HttpWebRequest)HttpWebRequest.Create(
                        "https://www.google.com/speech-api/v2/recognize?output=json&lang=en-us&key=AIzaSyAS3klnddmHrBJS8ZtvIe4pnfRK-qPnF0U");
        _HWR_SpeechToText.Credentials = CredentialCache.DefaultCredentials;
        _HWR_SpeechToText.Method = "POST";
        _HWR_SpeechToText.ContentType = "audio/x-pcm;bit=16;rate=16000";  //"audio/x-wav";// "audio/x-flac; rate=44100";
        _HWR_SpeechToText.ContentLength = BA_AudioFile.Length;
        Stream stream = _HWR_SpeechToText.GetRequestStream();
        stream.Write(BA_AudioFile, 0, BA_AudioFile.Length);
        stream.Close();

        HttpWebResponse HWR_Response = (HttpWebResponse)_HWR_SpeechToText.GetResponse();
        if (HWR_Response.StatusCode == HttpStatusCode.OK)
        {
            StreamReader SR_Response = new StreamReader(HWR_Response.GetResponseStream());
            MessageBox.Show(SR_Response.ReadToEnd());

            Console.WriteLine(SR_Response.ReadToEnd());
        }

    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());

        Console.WriteLine(ex.ToString());
    }

    Console.ReadLine();
}
    }
任何人都可以帮我解决这个问题。感谢。

0 个答案:

没有答案