بسم الله الرحمن الرحيم
السلام عليكم
الدرس الخامس : تشغيل الوسائط المتعددة
ملاحظة / هذا الموضوع عبارة عن بحث شخصي يحتمل الضعف والخطأ .
سنستعرض في هذا الموضوع طرق تشغيل الصوت والفيديو ...
عادة لا يوجد مشكلة في تشغيل الأصوات ... ولكن تكمن المشكلة في ملفات الفيديو...
لذا سنتحدث عن طرق تشغيل الفيديو والتي عادة ما تشغل الأصوات .
سنجعل في كل مرة الخاصية 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 لتشغيل الأصوات
ستجدتها في ملف الأمثلة .
لذا لقد برمجتها برمجة كائنية المنحنى لأستطيع الإستفادة منها ولكي يسهل إستخدامها لنا جميعاً
سأضع وصلة للطرق (الثلاثة أو الطريقتين ) وحاول الفهم وخصوصاً الأخيرة
اضغط هنا
إتجه إلى الدروس وحمل ملف الدروس
وسامحونا على الإختصار
تحياتي