2012-07-16 6 views
2

사용자가 단어 나 구를 입력 할 수있는 텍스트 상자가있는 소프트웨어를 만들려고 시도하면 프로그램이 google translate를 사용하여 해당 단어를 "말하고"해당 단어를 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! 

    } 

답변

1

아마도 Windows Media Player 컨트롤을 사용해 볼 수 있습니까?

은 참조 : 때문에 다운로드 한 파일의 http://msdn.microsoft.com/en-us/library/dd562851(v=vs.85).aspx

나는 SoundPlayer 종류의 특정 당신이 웨이브 파일을 제공해야하는 형식으로되어 있는지 기억이 ..

2

MP3 파일입니다. MSDN에서

: 및 System.Media.SoundPlayerWAV 파일을 지원

SoundPlayer 클래스는 파일 경로의 URL, .wav 파일이 포함 된 스트림 또는 포함 리소스에서 .wav 파일을로드 지원하는 .wav 파일이 들어 있습니다.

관련 문제