2012-07-16 142 views
2

試圖創建帶有文本框的軟件,用戶可以在其中輸入單詞或短語,程序將使用谷歌翻譯「說出」這些單詞並將該語音下載到wav或mp3文件,然後播放該文件。c#無法播放wav文件

一切工作正常,播放除外。文件將被加載到計算機中,但在播放時,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

因爲你的文件下載的是MP3文件。和System.Media.SoundPlayer只支持WAV文件:

從MSDN:

SoundPlayer類支持從文件路徑,URL,包含.wav文件的Stream,或嵌入的資源加載一個.wav文件包含一個.wav文件。