オーディオストリームを返す非常に短い文(100文字未満)のgooglettsサービスを送信するサンプルを作成しようとしています。このストリームをファイルに保存しようとしていますが、次のファイルを書き込んだ後、Bufを開くと、実際のプレーヤーで開くことができますが、最初の文字(google 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);
}