PDA

View Full Version : كيف يمكن تشغيل ملف فيديو من خلال ال DirecX


Samba
28 / 06 / 2004, 06:18 PM
سؤال هام كيف يتم تشغيل ملف فيديو كمقدمة للعبة مثلا من خلال ال direct X
والرجائ الايفاد بالكود الخاص بذلك وشكرا جزيلا للجميع
وتحياتى للجميع بالتوفيق

Samba
28 / 06 / 2004, 06:23 PM
واريد شئ اخر
هو من يمتلك كتاب Pdf لبرنامج 3D Game Studio
ارجاء ان يدلنى علية
ولكم جزيل الشكر
مع تحياتى Samba

حربـ2004ـي
28 / 06 / 2004, 08:59 PM
على أي اصدار من الدايركت تعمل ؟
وبأي برنامج ؟

احمد صالح
28 / 06 / 2004, 10:44 PM
هناك طريقتيين
1- تستخدم دوال نظام الويندوز و خاصة MCI - Multimedia Control Interface . ( عادة تستخدم نسق ملفات AVI) .
2- تستخدم DirectX و خاصة Direct Show ( تدعم العديد من الانساق مثل wmv. - .asf ..etc --> انظر إلي مكتبة التطوير SDK هناك مثال لعمل ذلك علي ما اعتقد اسمه Play Video .

اما بخصوص الطريقة الاولي : يمكن استخدام كما قلت دوال الويندوز و يجب ضم هذا الملف vfw32.lib إذا كنت تستخدم فيجول سى ++ او ما شابه من ملفات .Dll في الفيجول بيسك .
// كود لتشغيل ملفات .AVI ( C/C++) .
// Andre' Ahmed .
#include <vfw.h>
void PlayMovie(char *filename); // تعريف الدالة

void PlayMovie(char *filename)
{
// سوف نقوم بعمل نافذة خاصة للفيديو و قمنا بإنشاء مقبض و مشتق للنافذة
// مقبض النافذة g_MCIHand - المشتق - g_hInstance .. قم بتعريفهم
g_MCIHand=MCIWndCreate(g_hwnd,g_hInstance,
MCIWNDF_NOTIFYMODE|MCIWNDF_NOTIFYMEDIA|
MCIWNDF_NOMENU|MCIWNDF_NOPLAYBAR,filename);
//play movie in it
MCIWndPlay(g_MCIHand); // play it
}
// لو ترد اغلاق عرض الفيلم
void StopMovie(){
if(g_MCIHand){ //if valid handle
MCIWndDestroy(g_MCIHand);
g_MCIHand=NULL; //kill it
}
}

و اعتقد انه مثيل للبيسك ايضاً .

Ahmed S.Mohamed
Graphics Programmer

Samba
30 / 06 / 2004, 06:41 PM
انا عموما بشتغل directX 8 حاليا على ال VB.NET
وكنت محتاج فعلا اعرف ازاى تتحكم فى الفيديو داخل ال Project
يعنى مثلا ازاى اشغلة فى مقدمة لعبة وبعد لما يخلص يبدا يدخل لواجهة العبة لوحد

وشكرا جزيلا لكل الردود

Samba
30 / 06 / 2004, 06:43 PM
وكنت عايز اعرف رايكم فى ال Vb.net هل هيقدر يطلع شغل بموستوى كويس قريب من ال C++ مش زية بالظبط طبعا
بس على الاقل يطلع شغل احسن من ال Vb 6 زو الامكانيات المحدودة

وشكرا

حربـ2004ـي
01 / 07 / 2004, 04:52 AM
DirectX 8 و VB.net لا يعملان معا ( فقط DirectX 9 )

وبخصوص قدرة الفجوال بيسيك هذا يعتمد على ما تريد اخراجه
فإن كنت تريد عمل لعبة بمستوى قوي فلا أنصحك بالفجوال بيسيك
وبما أنك انتقلت إلى .net فأنصحك باختيار لغة برمجة أفضل ( C++ or C#.net)

تمنياتي لك بالتوفيق

game_maker
02 / 07 / 2004, 11:37 AM
السلام عليكم

http://www.axdteam.com/start.php?id=pages/vb/multimedia

Samba
03 / 07 / 2004, 06:38 PM
شكرا جدا على ردكم ياجماعة
لاكن بخصوص التغيير لل #c انا ماجلة لغاية لما اتمكن من ال Vb
وانشاء الله ناوى اغير باذن الله
وشكرا جزيلا

game desin
18 / 07 / 2004, 01:58 PM
السلام عليكم :
هناك طريقه افضل لتشغيل الAVI في بدايه اللعبه وهي استخدام تقنيه الMMcontrol المجود في القائمه
project --------->components

رامي لولح
20 / 07 / 2004, 12:35 AM
أخي الكريم Samba ، راجع المقالين التاليين ، فهما يشرحان أساسيات التعامل مع تلك الملفات:

http://www.gamedev.net/reference/articles/article840.asp
و
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35

أما بالنسبة لمواضيع اللغات فهذا أمر قد نوقش هنا مطولاً ، ويمكنك الرجوع إلى المواضيع السابقة ، ولكن على أية حال تبقى ++C\C المهيمن الأكبر على قطاع البرمجيات الاحترافية بشكل عام.

أما #C فهي صممت أصلاً لدعم تطبيقات الإنترنت وللإستفادة من إطار عمل NET. بشكل خاص ، ولذا أعتقد أنها لم تنضج بعد لمنافسة ++C\C .... ولكني أعتقد أن Microsoft تنوي القضاء على ++C\C بأقرب فرصة ممكنة .... وبأية طريقة .... من ناحيتي أتمنى لهم عدم التوفيق في ذلك !!!!!!!