2014-11-07 2 views
1

경로가 C:/Windows/Media/NameOfTheFile.wav이 아닌 경우 사운드를 재생할 수없는 이유는 무엇입니까?경로가 C :/Windows/Media가 아닌 경우 사운드를 재생할 수 없습니다.

나는이 기능이 있습니다

public class SystemManager 
{ 
    static SoundPlayer _soundPlayer = new SoundPlayer(); 

    public static void SoundEffect(string _soundLocation) 
    { 
     _soundPlayer.SoundLocation = _soundLocation; 
     _soundPlayer.Play(); 
    } 
} 

과 같이 호출 :

void Login_Load(object sender, EventArgs e) 
{ 
    SystemManager.SoundEffect("C:/Windows/Media/Savanna/Windows Exclamation.wav"); 
} 

위의 코드는 작동하지 않았다, 소리가 재생되지 않습니다.

하지만 아래 코드를 시도했을 때 재생됩니다. - 문제는 당신이 재생하려는 사운드 파일입니다

+0

그냥 * 두 * 경우 모두 지정한 경로에 파일이 있습니다. 맞습니까? –

+0

예, 파일이 있습니다. 컴퓨터에서 확인할 수 있습니다. C 드라이브 – Kaoru

+0

슬래시 대신 백 슬래시를 사용할 때 작동합니까? 파일 경로 및 사용을 위해 ['Uri'] (http://msdn.microsoft.com/en-us/library/system.uri%28v=vs.110%29.aspx) 인스턴스를 만들 때 작동합니까? 그것의 ['AbsoluteUri' 속성] (http://msdn.microsoft.com/en-us/library/system.uri.absoluteuri%28v=vs.110%29.aspx)? –

답변

1

문제는 위치가 아닙니다 : 여기

void Login_Load(object sender, EventArgs e) 
{ 
    SystemManager.SoundEffect("C:/Windows/Media/Windows Exclamation.wav"); 
} 

은 이미지입니다. 동일한 코드를 실행하면 다음 예외가 발생합니다.

사운드 API는 PCM 웨이브 파일 재생 만 지원합니다.

C:/Windows/Media의 사운드는 PCM이지만 하위 폴더의 사운드는 PCM이 아닙니다. PCM으로 변환하거나 다른 방법으로 재생하는 방법을 찾아야합니다.

+0

이미 그것을 다른 방법으로 발견 선생님. 어쨌든 고마워. – Kaoru

관련 문제