尝试创建具有文本框的软件,用户可以在其中键入单词或短语,程序将使用谷歌翻译“说出”这些单词并将该语音下载到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!
}
答案 0 :(得分:2)
由于您下载的文件是MP3
文件。并且System.Media.SoundPlayer
仅支持WAV
文件:
:
SoundPlayer
类支持从文件路径,URL,包含.wav文件的Stream或包含.wav文件的嵌入式资源加载.wav文件。
答案 1 :(得分:1)
也许您可以尝试使用Windows Media Player控件?
请参阅:http://msdn.microsoft.com/en-us/library/dd562851(v=vs.85).aspx
我记得SoundPlayer是一种特定的格式,你必须提供波形文件..