私は C# が初めてで、自分のコードの問題を見つけることができないようです。Google 翻訳のテキスト読み上げサイトからオーディオ ファイルを取得して再生しようとしていますが、エラーが発生し続けます。
An unhandled exception of type 'System.InvalidOperationException' occurred in System.dll
Additional information: The wave header is corrupt.
誰かが私のコードの問題を教えてもらえますか? メソッドは次のとおりです。
public static void PlayWord(string Query)
{
string GoogleTranslateURL = "http://translate.google.com/translate_tts?tl=en";
System.Net.WebRequest req = System.Net.WebRequest.Create(GoogleTranslateURL + (string.IsNullOrEmpty(Query) ? "" : "&q=" + Query));
using (var ms = new MemoryStream())
{
using (Stream webStream = req.GetResponse().GetResponseStream())
{
var buffer = new byte[4096];
int read;
while (webStream != null && (read = webStream.Read(buffer, 0, buffer.Length)) > 0)
ms.Write(buffer, 0, read);
}
using (SoundPlayer player = new SoundPlayer(ms))
{
if (ms.CanSeek) ms.Seek(0, System.IO.SeekOrigin.Begin);
player.Stream = null;
player.Stream = ms;
player.Play();
}
}
}