PDA

View Full Version : کپی یک فایل صوتی از resource



hamednazarzadeh
شنبه 03 تیر 1391, 09:45 صبح
با سلام
من قصد کپی کردن یک فایل صوتی که قبلا وارد ریسورس کرده ام و embedded هم کرده ام را به درون هارد دارم .
نام ریسورس من resource1 است و نام فایل embedded شده داخل آن test.wav است و نام namespace WindowsFormsApplication1 می باشد . وقتی از کد زیر استفاده می کنم خطا می دهد :
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourc eStream("WindowsFormsApplication1.resource1.test.wav");

using (Stream output = new FileStream("C:\\_10.wav", FileMode.Create))
{
byte[] buffer = new byte[32 * 1024];
int read;

while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, read);
}
}
همچنین فضای نام های زیر را نیز وارد کرده ام :
using System.IO;
using System.Reflection;
در حلقه while متن خطا بصورت زیر است :
Object reference not set to an instance of an object.

نمی دونم کجای کارم مشکل داره . اگر دوستان کسی یه نمونه برام بذاره یا بگه کجای کدم مشکل داره یا یه روش برای این کار ارائه بده ممنون می شم.
با تشکر

Y_Safaiee
شنبه 03 تیر 1391, 10:12 صبح
با سلام خدمت شما دوست گرامی
اول :


using System.IO;


رو بنویسید و سپس



private void btn_SaveFile_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream("c:\\a.wav", FileMode.Create);
byte []ar=new byte[Properties.Resources.chimes.Length];
Properties.Resources.chimes.Read(ar, 0, ar.Length );
fs.Write(ar, 0, ar.Length );
fs.Close();
}


chimes نام فایل صوتی با پسوند *.wav منه که داخل ریسورس گذاشتم.

موفق باشی
بایت بایت

hamednazarzadeh
شنبه 03 تیر 1391, 11:10 صبح
ممنون . درست شد