2009-12-14 6 views
5

.NET Compact Framework를 사용하여 리소스에서 오디오를 재생하려고합니다. 내 응용 프로그램의 자원 속성에 대한 오디오 파일을 추가하고 ...에 대한 아래의 샘플 리소스 파일 참조 코드를 사용 리소스에서 오디오를 재생하는 방법

SoundPlayer player = new SoundPlayer(Assembly.GetExecutingAssembly(). 
    GetManifestResourceStream("blessedwav.wav")); 
player.Play(); 

을하려하지만이 코드는 WAV 사운드를 재생되지 않습니다. .NET Compact Framework 3.5를 사용하여 리소스 오디오 파일을 재생하는 방법은 무엇입니까?

답변

5

이 시도 :

//I added the file as a audio resource in my project 
SoundPlayer player = new SoundPlayer(Properties.Resources.recycle); 
player.Play(); 

내가 .NET Compact Framework에서 함께 시도하지 않았다. 하지만 그것은 C#에서 나를 위해 일하고있다.

+0

오전,이 코드를 시도했지만 작동하지 않습니다 .Net CF, 오류 : System.Media.SoundPlayer.SoundPlayer (string)에 대한 최상의 오버로드 된 메서드 일치 '에 잘못된 인수가 있습니다. \t 어쨌든 고맙습니다 anuraj – user228502

+0

흠, 그래서 생각합니다. 닷넷 CF는 인수로 문자열을 사용하는 하나의 과부하가있어. 그런 다음 파일을 임시 위치에 저장하고 거기에서 재생하는 것이 좋습니다. – Anuraj

6

나는 해결책을 얻었다. 이 코드는 .NET Compact Framework에서 매우 잘 작동 :

// Convert a byte array to a stream 
using (var audioStream = new MemoryStream(Properties.Resources.full_song_wav)) 
{ 
    using (var player = new SoundPlayer(audioStream)) 
    { 
     player.Play() 
    } 
} 
+0

당신이 해결책을 가지고 있다는 것을 듣기 좋네요 :) – Anuraj

0
Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture); 
System.IO.Stream s = Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture); 
SoundPlayer player = new SoundPlayer(s); 
player.Play(); 
0

이 당신을 위해 작동합니다 :

Stream str = Properties.Resources.YourWaveSoundFile; 
SoundPlayer plyr = new SoundPlayer(str); 
plyr.Play(); 

당신이 당신의 네임 스페이스 위에 using System.Media이 있는지 확인합니다.

관련 문제