موضوع: كيف يمكن تشغيل ملف فيديو من خلال ال DirecX

ردود: 11 | زيارات: 1442
  1. #1

    Question كيف يمكن تشغيل ملف فيديو من خلال ال DirecX

    سؤال هام كيف يتم تشغيل ملف فيديو كمقدمة للعبة مثلا من خلال ال direct X
    والرجائ الايفاد بالكود الخاص بذلك وشكرا جزيلا للجميع
    وتحياتى للجميع بالتوفيق


  2. #2
    واريد شئ اخر
    هو من يمتلك كتاب Pdf لبرنامج 3D Game Studio
    ارجاء ان يدلنى علية
    ولكم جزيل الشكر
    مع تحياتى Samba

  3. #3
    عضو فعال
    تاريخ التسجيل
    Sep 2003
    المنطقة
    مجرة درب التبانة
    ردود
    196

    السلام عليكم

    على أي اصدار من الدايركت تعمل ؟
    وبأي برنامج ؟
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

  4. #4
    هناك طريقتيين
    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
    رب زدنِى علماً
    جيتس و اينشتين احدثوا ثورة في مجالاتهم و لكن بعد كل هذا هل استطاعوا ان "يميزوا" بعد كل ذلك ان الله احد لم يلد و لم يولد ؟
    نعم - احمد صالح .
    برمجة الألعابُ هي عملية تــحويل الصور الميتة إلي صور حية - احمد صالح .
    الامـة التى تــفرط فى لغـــتها كالتى تفرط فى عرضها !!!
    انا لو لم اكن مصريا * لوددت أن اكون مصريا

  5. #5

    Thumbs up شاكر جدا

    انا عموما بشتغل directX 8 حاليا على ال VB.NET
    وكنت محتاج فعلا اعرف ازاى تتحكم فى الفيديو داخل ال Project
    يعنى مثلا ازاى اشغلة فى مقدمة لعبة وبعد لما يخلص يبدا يدخل لواجهة العبة لوحد

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

  6. #6
    وكنت عايز اعرف رايكم فى ال Vb.net هل هيقدر يطلع شغل بموستوى كويس قريب من ال C++ مش زية بالظبط طبعا
    بس على الاقل يطلع شغل احسن من ال Vb 6 زو الامكانيات المحدودة

    وشكرا

  7. #7
    عضو فعال
    تاريخ التسجيل
    Sep 2003
    المنطقة
    مجرة درب التبانة
    ردود
    196

    السلام عليكم

    DirectX 8 و VB.net لا يعملان معا ( فقط DirectX 9 )

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

    تمنياتي لك بالتوفيق
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

  8. #8
    كود:
    Arabian Xtreme Designs          www.axdteam.com

  9. #9
    شكرا جدا على ردكم ياجماعة
    لاكن بخصوص التغيير لل #c انا ماجلة لغاية لما اتمكن من ال Vb
    وانشاء الله ناوى اغير باذن الله
    وشكرا جزيلا
    هو مين فى الدنيا دى بينسا اول حب لية وانا لو هنسا هنسى اه ولا اه

    المصرى بنا الاهرامات فهل يصعب علية بناء لعبة بها اهرامات

    وعـــــــــــــــجـــــــــبــــــــــــى

  10. #10
    السلام عليكم :
    هناك طريقه افضل لتشغيل الAVI في بدايه اللعبه وهي استخدام تقنيه الMMcontrol المجود في القائمه
    project --------->components

  11. #11

    Arrow راجع التالي !!!!

    أخي الكريم Samba ، راجع المقالين التاليين ، فهما يشرحان أساسيات التعامل مع تلك الملفات:

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

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

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

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل