我正在尝试构建一个示例,该示例发送一个非常短的句子(小于 100 个字符)google tts 服务,该服务返回一个音频流。我正在尝试将此流保存到一个文件中,但是当打开它时,在写入以下文件后,我可以在真实播放器中打开它,但它只能说出第一个字母(发送到 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);
}