PDA

View Full Version : مبتدی: گذاشتن موسیقی در پس زمینه فرم ویندوز سی شارپ



Shariff
یک شنبه 21 آبان 1391, 16:27 عصر
به نام خدا
با سلام مجدد خدمت همه دوستان
میخوام در پس زمینه یکی از فرمای پروژه ام در سی شارپ(تحت ویندوز) موسیقی ای پخش بشه (به محض باز شدن فرم و مثلا موسیقی از نوعMp3 باشه) و توسط دکمه ای هم امکان توقف موسیقی وجود داشته باشه.فقط خواهش میکنم از اونجایی که توی ادرس دهی به فایل موسیقی مشکل دارم این رو هم توضیح بدید که باید فایل موسیقی ام رو در کدوم قسمت پروژه ام ذخیره کنم تا جواب بده؟؟؟؟
با تشکر
منتظر راهنمایی شما دوستان هستم

matin.soft
یک شنبه 21 آبان 1391, 16:39 عصر
سلام دوست عزیز کد زیر رو امتحان کنید:

using System.Runtime.InteropServices;

public class MP3Player
{
private string _command;
private bool isOpen;
[DllImport("winmm.dll")]

private static extern long mciSendString(string strCommand,StringBuilder strReturn,int iReturnLength, IntPtr hwndCallback);

public void Close()
{
_command = "close MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero);
isOpen = false;
}

public void Open(string sFileName)
{
_command = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero); 18.
isOpen = true;
}

public void Play(bool loop)
{
if(isOpen)
{
_command = "play MediaFile";
if (loop)
_command += " REPEAT";
mciSendString(_command, null, 0, IntPtr.Zero);
}
}
}

موفق باشید.

Shariff
یک شنبه 21 آبان 1391, 21:31 عصر
ببخشید امکانش هست که بیشتر توضیح بدین؟؟؟؟؟؟
متوجه کد شما نمیشم چه طوری میتونم با این کد به خروجی برسم؟
فایل موسیقی رو در کدوم قسمت پروژه ام باید ذخیره کنم؟
ممنون میشم اگه واضح تر و راحت تر توضیح بدین

harani
دوشنبه 22 آبان 1391, 02:36 صبح
باید فایلت با فرمت Wav باشه بعد اون تو پوشه ی bin < Debug پروژت کپی میکنی سپس میای تو برنامت using System.Media رو تو using ها تایپ میکنی بعد تو فرم لودت کد زیرو مینویسی :

SoundPlayer sp = new SoundPlayer("emse music.wav");//a
//sp,PlayLooping();k
sp.Play();//h

matin.soft
دوشنبه 22 آبان 1391, 11:58 صبح
ببخشید امکانش هست که بیشتر توضیح بدین؟؟؟؟؟؟
متوجه کد شما نمیشم چه طوری میتونم با این کد به خروجی برسم؟
فایل موسیقی رو در کدوم قسمت پروژه ام باید ذخیره کنم؟
ممنون میشم اگه واضح تر و راحت تر توضیح بدین
دوست عزیز کدی که گذاشتم برای اجرای فایل های ام پی تری هستش.
شما بصورت زیر عمل کن و توابع رو بر حسب نیازت فراخوانی کن و اطلاعات لازم رو به تابع بده.

Open(string sFileName);
Play(bool loop);

در تابع اول مسیر فایل ام پی تری رو می دید. که بهتره کنار فایل اجراییی اصلی برنامه پوشه ای برای فایل موسیقی اختصاص بدی . یا اگه بخوای می تونی انتخاب رو بر عهده کاربر بگذاری که مسیر رو و فایل رو اون انتخاب کنه.
در تابع دوم شروع به پلی می کنی اگهفایل اول موجود باشه و برنامه خطا نگیره. اگه خواستی فایل بصورت حلقه ای اجرا بشه لوپ رو ترو می کنی و گرنه فالز.
در مرحله اخر در کد زیر دستور توقفه.
Close();
به همین سادگی...
پیروز باشید./.

arararar
پنج شنبه 17 مرداد 1392, 16:27 عصر
ببخشید من هم همین سوالو داشتم میشه خط به خط توظیح بدید؟
من میخواهم طوری باشه که طرف خودش فایل رو انتخواب کنه.
ممنون

danialafshari
پنج شنبه 17 مرداد 1392, 16:38 عصر
ببخشید من هم همین سوالو داشتم میشه خط به خط توظیح بدید؟
من میخواهم طوری باشه که طرف خودش فایل رو انتخواب کنه.
ممنون

در یک لیست باکس قرار بدید
و از کد زیر استفاده کنید
SoundPlayer sp = new SoundPlayer("emse music.wav");//a

arararar
جمعه 18 مرداد 1392, 14:21 عصر
خیلی متشکرم
من سوال دیگه هم داشتم کسی سورس یک برنامه که در فرم اول(در جعبه متن) چیزی تایپ کنیم وبعد از زدن دکمه ای در فرم دوم همان چیزی رو که توی جعبه متن نوشتم نشون بده؟
خیلی فوریه ممنون

sohil_ww
جمعه 18 مرداد 1392, 14:57 عصر
خیلی متشکرم
من سوال دیگه هم داشتم کسی سورس یک برنامه که در فرم اول(در جعبه متن) چیزی تایپ کنیم وبعد از زدن دکمه ای در فرم دوم همان چیزی رو که توی جعبه متن نوشتم نشون بده؟
خیلی فوریه ممنون

خیلی راه هست کافی 1 سرچ ناقابل انجام بدی

danialafshari
جمعه 18 مرداد 1392, 15:05 عصر
خیلی متشکرم
من سوال دیگه هم داشتم کسی سورس یک برنامه که در فرم اول(در جعبه متن) چیزی تایپ کنیم وبعد از زدن دکمه ای در فرم دوم همان چیزی رو که توی جعبه متن نوشتم نشون بده؟
خیلی فوریه ممنون

سلام دوست عزیز
این با استفاده از کلاس کاری نداره
می تونم جواب بدم و نمونه هم در سایت زیاده
ولی از طریق یک کتاب مطالعه کنید و با مفاهیم کلاس و ارث بری آشنا بشید خیلی خیلی بهتره !
موفق باشی

arararar
جمعه 18 مرداد 1392, 16:47 عصر
حالا توظیح بدید خیلی فوریه!

arararar
جمعه 18 مرداد 1392, 17:06 عصر
بعد هم من هر چی سرچ میکنم چیزی نیست ادرس بدید.

danialafshari
جمعه 18 مرداد 1392, 17:25 عصر
در قسمت نمونه برنامه های کوچک و مفيد در سي شارپ صفحه 23 برنامه Login منو بگیر
به کابر که خوش آمد میگه همون چیزیه که می خواید

sohil_ww
جمعه 18 مرداد 1392, 17:25 عصر
//in 1 rahe
Form2 obj = new Form2();
obj.textBox1.Text = textBox1.Text;
obj.Show();


این یک راه حلشه خیلی کارای دیگه هم می تونی انجام بدی
در ضمن تکس باکستو باید پابلیک تعریف کنی

Mr.ZR1380
دوشنبه 18 مرداد 1395, 20:28 عصر
سلام خدمت مدیران محترم من چطور می توانم یک تاپیک ایجاد کنم چون می خواهم سوال کنم نمی شود با تشکر
اگر کسی اینجا جواب نمی دهد برایم پیام بفرستد