title: Google speech to text API using C#
body: <p>I'm using google speech recognition for speech to text of a audio file. Response  i get as output shows only {"result":[]}. I don't see any output result.
  i have picked my code from <a href="https://stackoverflow.com/questions/25148373/how-to-use-google-speech-recognition-api-in-c">How to use google speech recognition api in c#?</a> and <a href="https://stackoverflow.com/questions/24049507/google-speech-to-text-api-in-c-sharp">Google speech to text API in C#</a> . i have tried almost every answer in above links still i am getting the error.</p>
  
  <p>My code is:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Net;
  using System.IO;
  using Newtonsoft.Json;
  
  namespace google_api
  {
  class Program
  {
      static void Main(string[] args)
      {
          try
          {
  
              FileStream fileStream = File.OpenRead("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&amp;lang=en-us&amp;key=mykey");
              _HWR_SpeechToText.Credentials = CredentialCache.DefaultCredentials;
              _HWR_SpeechToText.Method = "POST";
              _HWR_SpeechToText.ContentType = "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());                           
                  Console.WriteLine(SR_Response.ReadToEnd()+SR_Response.ToString());
  
                  string responseFromServer = (SR_Response.ReadToEnd());
                  String[] jsons = responseFromServer.Split('\n');
                  String text = "";
                  foreach (String j in jsons)
                  {
                      dynamic jsonObject = JsonConvert.DeserializeObject(j);
                      if (jsonObject == null || jsonObject.result.Count &lt;= 0)
                      {
                          continue;
                      }
                      text = jsonObject.result[0].alternative[0].transcript;
                  }
                  Console.WriteLine("MESSAGE : "+text);
              }
  
          }
          catch (Exception ex)
          {
              Console.WriteLine(ex.ToString());
          }
  
          Console.ReadLine();
      }
  }
  }
  </code></pre>