我想建立一個樣本,發送一個非常短的句子(少於100個字符)谷歌tts服務,返回一個音頻流。我試圖將這個流保存到一個文件中,但是當打開它時,Buf在寫入以下文件後,我可以在真實播放器中打開它,但它只能發出第一個字母(發送給谷歌的第一個字母)。在保存文件時可能會有問題,我從來沒有在代碼中處理過音頻,所以請看看並提出一些更好的代碼。C# - 使用谷歌TTS服務保存音頻文件
WebRequest request = WebRequest.Create(string.Format("http://translate.google.com/translate_tts?q={0}", Uri.EscapeUriString(textBox1.Text.Trim())));
request.Method = "GET";
try
{
WebResponse response = request.GetResponse();
if (response != null && response.ContentType.Contains("audio"))
{
Stream stream = response.GetResponseStream();
byte[] buffer = new byte[response.ContentLength];
stream.Read(buffer, 0, (int)response.ContentLength);
FileStream localStream = new FileStream("audio.mp3", FileMode.OpenOrCreate);
localStream.Write(buffer, 0, (int)response.ContentLength);
stream.Close();
localStream.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
我的錯我剛發現發佈這個問題後,無論如何答案表示讚賞。 – 2011-03-10 11:53:40