2017-10-09 10 views
0

리소스에서 wav 오디오 파일을 아래 코드로 재생할 수 있습니다.WPF에서 MediaPlayer를 사용하여 리소스에서 WAV 오디오 파일을 재생하는 방법은 무엇입니까?

파일에 의해 자원에 추가되었습니다

Practice_AccessResource> 파일> 속성> 리소스> 오디오>> ExistingFiles

//only can play audio file with SoundPlayer class. 
System.IO.Stream strForMusic = Practice_AccessResourceFile.Properties.Resources.TaDa; 
System.Media.SoundPlayer sountPlayer = new 
System.Media.SoundPlayer(strForMusic); 
sountPlayer.Play(); 

가 참고로, 프로젝트 이름은 "Practice_AccessResourceFile"입니다 추가 wav 오디오 파일의 이름은 TaDa.wav입니다. 유감으로는 이름을 바꿀 수 없습니다.

WPF에서 MediaPlayer로 오디오 파일을 재생하는 방법이 있습니까?

System.IO.Stream stream = Properties.Resources.TaDa; 
MediaPlayer musicPlayer = new System.Windows.Media.MediaPlayer(); 
//musicPlayer.Open(new System.Uri(stream)); //This is not working 
//musicPlayer.Play(); 

나는 두 개의 음악을 동시에 재생해야하며 SoundPlayer에서는 불가능합니다.

WPF에서 MediaPlayer 클래스로 오디오 파일을 재생할 수있는 사람이 있습니까?

+1

[이 질문] (HTTPS 같이 당신의 남았습니다 팩 구문을 사용해야합니다 : //stackoverflow.com/q/2625608/17034). –

+0

ohh .. 임시 폴더에 오디오 파일을 만들고 로컬로 재생할 것입니다. Thnx –

답변

1

MediaPlayer가 리소스에서 재생할 수 없다고 생각합니다. 예를 들어 this question을 참조하십시오.

당신이 디스크의 임시 폴더에 파일을 쓸 수 있다면 그것은 this answer 당 할 수 있어야한다 :

var p1 = new System.Windows.Media.MediaPlayer(); 
p1.Open(new System.Uri(@"C:\windows\media\tada.wav")); 
p1.Play(); 

// this sleep is here just so you can distinguish the two sounds playing simultaneously 
System.Threading.Thread.Sleep(500); 

var p2 = new System.Windows.Media.MediaPlayer(); 
p2.Open(new System.Uri(@"C:\windows\media\tada.wav")); 
p2.Play(); 
+0

게시 한 코드는 이미 알고 있지만, MediaPlayer에서는 정상적인 방법으로는 불가능하다고 말해 주셔서 감사합니다. 나는 temp 폴더에 파일을 로컬로 만들 것이라고 생각한다. –