내가 그것을했다 :
WindowsMediaPlayer wmp = new WindowsMediaPlayer();
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("PostGen.Resources.Kalimba.mp3");
using (Stream output = new FileStream ("C:\\temp.mp3", FileMode.Create))
{
byte[] buffer = new byte[32*1024];
int read;
while ((read= stream.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, read);
}
}
wmp.URL = "C:\\temp.mp3";
wmp.controls.play();
우리는이 임시 파일 삭제해야합니다 :
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
File.Delete("C:\\temp.mp3");
}
이와 같은 임시 파일을 만드는 것이 유효한 해결책으로 간주되어서는 안됩니다. MediaPlayer.Play 메서드는 더 좋든 나쁘 든 (나쁘면 논쟁 하겠지만) 스트림을 입력으로 사용하지 않습니다. exe를 사용하여 MP3를 배포하고 파일 위치를 해당 기능에 전달하는 것이 훨씬 낫습니다. – Seanba