المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الخامس : تشغيل الوسائط المتعددة



PRG of RPG
24-02-2003, 05:25 AM
بسم الله الرحمن الرحيم

السلام عليكم

الدرس الخامس : تشغيل الوسائط المتعددة


ملاحظة / هذا الموضوع عبارة عن بحث شخصي يحتمل الضعف والخطأ .

سنستعرض في هذا الموضوع طرق تشغيل الصوت والفيديو ...

عادة لا يوجد مشكلة في تشغيل الأصوات ... ولكن تكمن المشكلة في ملفات الفيديو...

لذا سنتحدث عن طرق تشغيل الفيديو والتي عادة ما تشغل الأصوات .

سنجعل في كل مرة الخاصية Full Screen (ملئ الشاشة) صحيحة في كل تجاربنا

وسنشغل في كل طريقة ملفات AVI للفيديو و MIDI و MP3 و WAV .

وسنتحدث عن طريقتين لتشغيل الفيديو الأولى بإستخدام الأدوات والثانية بإستخدام دوال APP و مكتبات dll ?

لمذا جعلناها كطريقتين ؟

حسناً لأن الأولى لتشتغل بدون DirectX... أي لبرامج الملتيميديا والألعاب الصغيرة أما عند إستخدام DirectX فإنه لا يمكن تشغيل أي أداة لذلك سنضطر إلى إستخدام دوال API ومكتبات dll لتشغيل الفيديو

الطريقة الأولى : إستخدام الأداة Windows Media Player .

إذهب إلى Project ثم اختر Components .. سوف تضهر قائمة إختر Windows Media Player ...

ستضهر لك في شريط الأدوات ..أداة جديدة أضفها إلى نافذة المشروع

ما هي الملفات التي تستطيع الأداة تشغيلها ؟

- كل ما يستطيع البرانمج Media Player تشغيله :) .

ونشغل الملف بواسطة الكود التالي :



MediaPlayer1.FileName = App.Path & "\1.wav"
MediaPlayer1.Play


بيسط جداً :)

والان دعونا ننتقل إلى الطريقة الثانية : بإستخدام API و DLL :

أولاً بإستخدام دوال API ??

تمتلك دوال API سمعة سيئة في محيط المبتدأين (وأنا منهم ) ، لذلك لا تقلق ان وجدت صعوبة في التعامل مع هذه الأداة .



Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
' طريقة عديمة النفع
Private Sub Command1_Click()
' Const sAVIFile As String = App.Path & "/1.avi"
'open a new avi video
mciExecute "OPEN " + App.Path & "/1.avi" + " TYPE AVIVIDEO ALIAS kpdvideo STYLE POPUP"
'move the display window to (100,100,320,200)
mciExecute "PUT kpdvideo WINDOW AT 100 100 320 200"
'double the playback speed
mciExecute "SET kpdvideo SPEED 1000"
'play the video
mciExecute "PLAY kpdvideo WAIT"
'remove the video from the memory
mciExecute "CLOSE kpdvideo"
End Sub

تستطيع المتاعبة مع هذه الدالة ولكن لا أنصحك بذلك :)

الطريقة الأخيرة والأكثر من رائعة استخدام مكتبات dll

أولاً : السبب في إستخدام هذه الطريقة ؟

- هو أنني أستخدم DirectX في ألعابي ..فلا أستطيع إستخدام الطريقة الأولى وأيظا دالة MCI (السابقة ) ليست جيدة وأيظاً في كثير من أنواع ضغوط الفيديو الممتازة مثل IndeoVideo و DivX نتج معي تقطع اثناء تشغيل الفيديو لذلك بحثت عن طريقة مناسبة إلى أن وصلت إلى التالي

إستخدام المكتبة Active Movie لتشغيل الفيديو AVI أو MPG

إستخدام المكتبة FMOD لتشغيل الأصوات

ستجدتها في ملف الأمثلة .

لذا لقد برمجتها برمجة كائنية المنحنى لأستطيع الإستفادة منها ولكي يسهل إستخدامها لنا جميعاً

سأضع وصلة للطرق (الثلاثة أو الطريقتين ) وحاول الفهم وخصوصاً الأخيرة

اضغط هنا (http://members.lycos.co.uk/arabvbgames/)

إتجه إلى الدروس وحمل ملف الدروس

وسامحونا على الإختصار

تحياتي :)

RPG
26-02-2003, 05:40 AM
السلام عليكم

أخيرا أكملت الدروس، أنت أفضل PRG of RPG أعرفه! (هو أنا أعرف PRG of RPG غيرك؟ :p )

شكرا كثيرا، لقد كنت انتظر الدروس بفارغ الصبر :)

PRG of RPG
26-02-2003, 05:57 AM
السلام عليكم...

لقد أكملت لأني علمت أنني لن أكمل أي شيء في الأيام القادمة بسبب الدراسة :) لذا ستجد الدروس من 5 إلى 10 "على الماشي" فهي حديثة يومين :)

انا اسف لأنني جعلتك تنتظر .. ولكن تعلم اشغالي على الكمبيوتر :(

تحياتي :)

Mr. Black Man
26-02-2003, 06:05 AM
شكراً لك على الدرس ;) و آسف على تأخري في الرد و لكن مثل ما تعرف الدراسة و .. و .. و ....


و أتمنى تستمر في دروسك الأكثر من رائعة :D ;) :)

PRG of RPG
26-02-2003, 07:23 AM
السلام عليكم

العفو :)

صح أن الدراسة ازعاج بس يمين يسار تجي عطلة بس اللي ماله حل "و .. و .. و .... " :)