PDA

View Full Version : سوال: کار با فایلهای صوتی Add شده در Resources



zayens
پنج شنبه 06 خرداد 1389, 15:48 عصر
چندین فایل صوتی wav به Resources اضافه کردم (هر فایل یک عدد را پخش میکند،فایل 1=>صدای "یک")
برای پخش دو صدا پشت سر هم از تایمر استفاده کردم همانند کد زیر:


privatevoid button2_Click(object sender, EventArgs e)
{
timer1.Stop();
i = 0;
Stream a = Properties.Resources._20_;
SoundPlayer player = newSoundPlayer(a);
player.Play();
timer1.Start();
timer1_Tick(sender, e);
}
privatevoid timer1_Tick(object sender, EventArgs e)
{
i++;
if (i == 2)
{
Stream b = Properties.Resources._5;
SoundPlayer player2 = newSoundPlayer(b);
player2.Play();
}
}
این کد عدد "بیست و پنج" را پخش میکنه.
حالا یه سوال دارم. اگه یه تکست باکس داشته باشیم چه طور میشه بعد از تایپ عددی مثل 25 و زدن دکمه ، 20 و 5 جدا بشه و هر کدام به stream resource بره ؟
20 و 5 به صورت string هستند. چه طور باید اونا را stream کرد؟

saber187518
پنج شنبه 06 خرداد 1389, 16:02 عصر
با سلام
دوست عزیز برای اینکه بتونی 25 و یا هر عدد دیگه ای رو جدا کنی و یا به حرف تبدیل کنی(هر دو عمل را میتوان با این روش انجام داد) باید از رقم یکان شروع کنی و هر بار رقم بدست آمده را جدا کنی و در جایگاهش ضرب کنی.. البته فراموش نشه از سمت راست عدد حرکت میکنی تا به اولین رقم غیر صفر برسی و عمل رو بر روی اون انجام میدی.
این عمل رو تا آخرین رقم تکرار میکنی.
مثال:
3201 رو میخواهیم جدا کنیم.
از راست حرکت میکنیم.
به عدد 1 میرسیم و آن را جدا میکنیم و به جای ان 0 قرار می دهیم. میماند 3200 که ادامه می دهیم و از راست دوباره شروع میکنیم و حرکت میکنیم و به 2 میرسیم. حال اگر 2 را به تنهایی برداریم معنایی نمیدهد(اشتباه است) باید آن را در جایگاهش یعنی 100 ضرب کنبم تا 200 بدست بیاید سپس 2 را حذف کرده و 0 قرار میدهیم و رقم اخر هم به همین ترتیب.
موفق باشی.

zayens
پنج شنبه 06 خرداد 1389, 16:17 عصر
20 و 5 به صورت string هستند. چه طور باید اونا را stream کرد؟
میخوام بعد از جداکردن در قسمت
Stream a = Properties.Resources._20_;
بذارمشون
با سپاس

saber187518
پنج شنبه 06 خرداد 1389, 16:20 عصر
با سلام
برای این کار باید شما یک switch بذاری و چک کنی.
مثلا بگی که


switch (num)
{
case 20:
Stream a = Properties.Resources._20_;
break;
...
}

zayens
پنج شنبه 06 خرداد 1389, 17:33 عصر
با سلام
برای این کار باید شما یک switch بذاری و چک کنی.
مثلا بگی که


switch (num)
{
case 20:
Stream a = Properties.Resources._20_;
break;
...
}


:متعجب:اینهمه switch:متعجب:
یعنی نمیشه _20_ را یه جور دیگه وارد کرد؟
مثلا اگه بخوایم 1 تا 20 را بخونه چه جوری میشه از حلقه استفاده کرد؟؟
حتما یه راهی داره:متعجب:

saber187518
پنج شنبه 06 خرداد 1389, 18:13 عصر
با سلام
دوست عزیز شما قرار نیست که برای تمامی اعداد از سوییچ استفاده کنی.
شما باید اعداد 0 و 1 و 2 و 3 و 4 و 5 و 6 و 7 و 8 و 9 و 10 و20 و 30 و 40 و 50 و 60 و 70 و 80 و 90 و 100 و 200 و ...
رو شرط کنی.
و اینطوری مساله رو حل کنی.
راه دیگه ای فکر نمیکنم وجود داشته باشه.
اگه از اساتید راه دیگه ای بلده بگه. ولی من که بعید میدونم راهی باشه.
موفق باشی