PDA

View Full Version : گرفتن عكس يا فيلم يا صوت درون برنامه از طريق يك دكمه



ayor_1985_110
دوشنبه 05 مرداد 1388, 12:37 عصر
با سلام خدمت همه دوستان عزيز ،
من در برنامه‌ي مربوط به آزمون ميخواهم در فرم گرفتن سوالات براي راهنمايي بيشتر دانشجو براي هر سوال يك عكس و يا فيلم و يا صوت بگيرم و سپس آن را در صفحه اي ديگر نمايش دهم لطفا مرا راهنمايي كنيد كه با استفاده از چه كامپوننتي ميتوانم اين كار را انجام دهم.
از همه ي دوستان عزيز متشكرم.

hozouri
دوشنبه 05 مرداد 1388, 12:52 عصر
ببینید این از صفحه برنامه عکس می ندازه بدردتون می خوره ...

Reza_Yarahmadi
دوشنبه 05 مرداد 1388, 15:52 عصر
برای نمایش عکس میتونی از PictureBox استفاده کنی برای پخش فایلهای صوتی و تصویری هم میتونی از winmm.dll کمک بگیری.

using System.Runtime.InteropServices;


[DllImport("winmm.dll")]
private static extern long mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, int hwndCallback);

void PalySoundAndMovie(string FileName)
{
CommandString = "open " + "\"" + FileName + "\"" + " type MPEGVideo alias MediaFile";
mciSendString(CommandString, null, 0, 0);
CommandString = "play MediaFile";
mciSendString(CommandString, null, 0, 0);
}

ayor_1985_110
سه شنبه 06 مرداد 1388, 08:14 صبح
از راهنماييتون ممنونم،
نميشه كاري كرد كه هر سه را بتوان در يك جا نمايش داد يعني عكس رو همم در windll klhda nhn.

m.saleh
سه شنبه 06 مرداد 1388, 09:33 صبح
با سلام
می خواستم بدونم چطور میشه یک فایل فلش با پسوند swf رو داخل یک form قرار داد؟؟

ayor_1985_110
یک شنبه 11 مرداد 1388, 11:14 صبح
با تشكر از آقاي ياراحمدي ،
اگه ميشه راجع به كدها كمي بيشتر توضيح بديد من آنها را درون فرم مربوطه قرار دادم ولي متاسفانه كار نكرد.

Reza_Yarahmadi
یک شنبه 11 مرداد 1388, 12:00 عصر
اگه ميشه راجع به كدها كمي بيشتر توضيح بديد
تنها نکته ای که برای استفاده از متد PalySoundAndMovieباید دقت بشه اینه که آدرس فایل (FileName) باید بصورت مطلق باشه یعنی آدرس کامل فایل مورد نظرت رو به متد بدی، همین! البته اگر فایل توی دایرکتوری System32 باشه اسم فایل کفایت میکنه.

ayor_1985_110
دوشنبه 12 مرداد 1388, 11:41 صبح
با سلام،
من فايل را با استفاده از openfiledialog ميگيرم و از خاصيت filename اون استفاده كردم ولي باز بهم نمايش نداد.

Reza_Yarahmadi
دوشنبه 12 مرداد 1388, 12:39 عصر
این یه نمونه برنامه کوچیکه که با استفاده از winmm.dll فایلهای صوتی ، تصویری و همچنین تصاویر رو میشه باهاش نشون داد (چون دقیقا نمیدونستم چه نوع فایلها رو پشتیبانی میکنه از هر کدوم فقط دو نمونه رو فیلتر کردم)

ayor_1985_110
دوشنبه 12 مرداد 1388, 13:09 عصر
واقعا از كمكتون ممنونم ،
ولي باز 2 تا مشكل دارم ، اول اينكه با اجراي برنامتون وقتي يك فايل را باز ميكنم اون فايل نمايش داده ميشود ولي وقتي ميخوام فايل ديگري را باز كنم همان فايل اول نمايش داده ميشود. و بايد برنامه را بست و مجددا اجرا كرد تا فايل ديگري رو لود كند.
دوم اينكه فايل‌هايي كه پسوند 3gp دارند را نمايش نمي‌دهد حتي اگر فيلتر opendialogfile را عوض كنم.

Reza_Yarahmadi
دوشنبه 12 مرداد 1388, 14:11 عصر
اول اينكه با اجراي برنامتون وقتي يك فايل را باز ميكنم اون فايل نمايش داده ميشود ولي وقتي ميخوام فايل ديگري را باز كنم همان فايل اول نمايش داده ميشود. و بايد برنامه را بست و مجددا اجرا كرد تا فايل ديگري رو لود كند.یه تغییر کوچیک توی کد بده

if (OP.ShowDialog() == DialogResult.OK)
{
CommandString = "Close MediaFile";
mciSendString(CommandString, null, 0, 0);
CommandString = "open " + "\"" + OP.FileName + "\"" + " type MPEGVideo alias MediaFile";
mciSendString(CommandString, null, 0, 0);
CommandString = "play MediaFile";
mciSendString(CommandString, null, 0, 0);
}


دوم اينكه فايل‌هايي كه پسوند 3gp دارند را نمايش نمي‌دهد حتي اگر فيلتر opendialogfile را عوض كنم.

winmm.dll فایلهای 3gp رو پشتیبانی نمیکنه همچنین avi , mp4 , ... رو هم پشتیبانی نمیکنه.
غیر از winmm.dll میتونی از کامپوننت WindowsMediaPlayer هم استفاده کنی. فایلهایی که هر دو پشتیبانی میکنن تقریبا برابره ولی WindowsMediaPlayer قابلیت کنترل اجرا رو هم داره ، کار کردن باهاش هم ساده تره!!

Unknownlive
دوشنبه 12 مرداد 1388, 16:35 عصر
من براتون یک کامپوننت بعدا اگر سرعت اینترنت اجازه داد می ذارم همراه با نمونه کد کامل