2015-07-07 3 views
0

Как я могу скопировать код, чтобы вытащить WAV-файл из проекта?Soundplayer для скомпилированного приложения

Как и где я должен помещать файл .wav?

http://i58.tinypic.com/npmjnn.jpg

Код Сейчас я использую это:

 private void timer2_Tick(object sender, EventArgs e) 
    { 
     SoundPlayer simpleSound = new SoundPlayer(@"c:\Windows\Media\dj.wav"); 
     simpleSound.Play(); 
    } 

Я просто хочу путь @ "C: \ Windows \ Media \ dj.wav", чтобы быть для этой папки контента .. . Так что, когда я развертываю приложение на другом компьютере, оно поставляется с ним.

ответ

1

Использование GetManifestResourceStream.

var path = "MyApplicationNamespace.Content.dj.wav"; 
var assembly = Assembly.GetExecutingAssembly(); 

using(var soundStream = assembly.GetManifestResourceStream(path)) 
using(var soundPlayer = new SoundPlayer(soundStream)) 
{ 
    soundPlayer.Play(); 
} 

Строка, передаваемая GetManifestResourceStream должен быть полностью квалифицирован с корнем пространства имен вашего приложения и в дереве каталогов файл волна пребывает в.

Кроме того, необходимо установить Build Action для файла волны в Embedded Resource в окне свойств.