c#无法播放wav文件

时间:2012-07-16 06:52:55

标签: c# audio media-player

尝试创建具有文本框的软件,用户可以在其中键入单词或短语,程序将使用谷歌翻译“说出”这些单词并将该语音下载到wav或mp3文件,然后播放该文件。

一切正常,但播放除外。文件将被加载到计算机,但在播放时,Visual Studio会给出一个错误,即文件无效wav文件。 当从计算机手动播放文件时,媒体播放器播放得很好!

 private void Puhu(string Sana) {

WebClient web = new WebClient();
web.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/4.0 (compatible; MSIE 9.0;      Windows;)");

 string encstr = string.Empty;

  string filename = "tts.wav"; 

  string s = Sana;

  encstr = Uri.EscapeDataString(s);

  web.DownloadFile("http://translate.google.com/translate_tts?tl=fi&q=" + encstr, ".\\" + filename);

   (new SoundPlayer(@"tts.wav")).Play(); // this line wont work!! Audio format is wrong!

  }

2 个答案:

答案 0 :(得分:2)

由于您下载的文件是MP3文件。并且System.Media.SoundPlayer仅支持WAV文件:

来自MSDN的

  

SoundPlayer类支持从文件路径,URL,包含.wav文件的Stream或包含.wav文件的嵌入式资源加载.wav文件。

答案 1 :(得分:1)

也许您可以尝试使用Windows Media Player控件?

请参阅:http://msdn.microsoft.com/en-us/library/dd562851(v=vs.85).aspx

我记得SoundPlayer是一种特定的格式,你必须提供波形文件..