08-10-12, 12:20 PM
كاتب الموضوع : abdulla0991
السلام عليكم ورحمة الله وبركاته
سوف أشرح لكم في هذا الموضوع لمحة سريعة عن كيفية استخدام مكتبات DirectX لتشغيل ملفات الصوت والفيديو بسهولة وكفاءة عالية جداً ,, نبدأ فوراً بالشرح:
أولاً: بما أننا سنعتمد على مكتبة خارجية لذلك يجب أولاً إضافة المكتبات اللازمة وسنحتاج في هذا الدرس لمكتبتين هما:
لإضافتهما: أولاً Add Reference ثم التبويب Browse ثم ابحث عن الملفين في هذا المجلد:
على الأغلب ستجدهما فوراً لأنه لا يكاد يخلو نظام من وجود مكتبات الـ DirectX ,, وإذا لم تجدهما يمكن تحميلهما من المرفقات ثم ربطهم مع البرنامج
ثانياً: استيراد المكتبتين:
ثالثاً: يلزمنا في هذا الدرس الفئتين Audio و Video الموجودتان في المكتبة Microsoft.DirectX.AudioVideoPlayback.dll
نبدأ بشرح الفئة Audio أولاً:
الأن بسهولة تامة يمكن تشغيل ملف صوتي بهذا الكود البسيط:
فقط لا غير ,, ثلاثة أسطر يمكننا تشغيل ملف صوتي اياً كان صيغته طبعاً طالما ان ملفات الدعم لهذه الصيغة موجودة في النظام Codec:
السطر الأول: تعريف متغير من الفئة Audio
السطر الثاني: إنشاء نسخة جديدة (كائن) من الفئة Audio مع تمرير مسار الملف الصوتي في البارمتر الأول
السطر الثالث: إعطاء أمر التشغيل Play
رابعاً: دعونا الأن نتعرف على أهم خصائص وتوابع هذه الفئة:
هذه الخاصية تمكننا من تحديد أو معرفة موقع التشغيل للملف يعني عند اي ثانية (اعرف انك لم تفهم ) ,, انظر الصورة التالية
يعني ان الكود السابق تجعل الملف الصوتي يعمل من عند الثانية العاشرة
هذه الخاصية تعيد لنا طول المقطع الصوتي بالثواني ,, ولذلك بسهولة يمكننا معرفة طول المقطع الصوتي بالساعات والدقائث والثواني يسهولة:
هذا الاجراء من اجل فتح ملف صوتي جديد لتشغيله والشيء الرائع انه يمكننا بواسطة الفئة Audio تشغيل مقطع صوتي على الانترنت او الكمبيوتر
الأوامر العادية من اجل تشغيل / إيقاف مؤقت / إيقاف تشغيل المقطع الصوتيالسلام عليكم ورحمة الله وبركاته
سوف أشرح لكم في هذا الموضوع لمحة سريعة عن كيفية استخدام مكتبات DirectX لتشغيل ملفات الصوت والفيديو بسهولة وكفاءة عالية جداً ,, نبدأ فوراً بالشرح:
أولاً: بما أننا سنعتمد على مكتبة خارجية لذلك يجب أولاً إضافة المكتبات اللازمة وسنحتاج في هذا الدرس لمكتبتين هما:
كود :
[color=#000000][COLOR=#0000bb]Microsoft[/color][color=#007700].[/color][color=#0000bb]DirectX[/color][color=#007700].[/color][COLOR=#0000bb]dll
Microsoft[/COLOR][color=#007700].[/color][color=#0000bb]DirectX[/color][color=#007700].[/color][color=#0000bb]AudioVideoPlayback[/color][color=#007700].[/color][COLOR=#0000bb]dll
[/COLOR][/COLOR]
لإضافتهما: أولاً Add Reference ثم التبويب Browse ثم ابحث عن الملفين في هذا المجلد:
اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.dll[/TD]
[/TR]
[/TABLE]
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.dll[/TD]
[/TR]
[/TABLE]
على الأغلب ستجدهما فوراً لأنه لا يكاد يخلو نظام من وجود مكتبات الـ DirectX ,, وإذا لم تجدهما يمكن تحميلهما من المرفقات ثم ربطهم مع البرنامج
ثانياً: استيراد المكتبتين:
كود :
[color=#000000][COLOR=#0000bb]using Microsoft[/color][color=#007700].[/color][color=#0000bb]DirectX[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using Microsoft[/color][color=#007700].[/color][color=#0000bb]DirectX[/color][color=#007700].[/color][color=#0000bb]AudioVideoPlayback[/color][COLOR=#007700];
[/COLOR][/COLOR]
كود :
[color=#000000][COLOR=#0000bb]Imports Microsoft[/color][color=#007700].[/color][COLOR=#0000bb]DirectX
Imports Microsoft[/COLOR][color=#007700].[/color][color=#0000bb]DirectX[/color][color=#007700].[/color][COLOR=#0000bb]AudioVideoPlayback
[/COLOR][/COLOR]
ثالثاً: يلزمنا في هذا الدرس الفئتين Audio و Video الموجودتان في المكتبة Microsoft.DirectX.AudioVideoPlayback.dll
نبدأ بشرح الفئة Audio أولاً:
الأن بسهولة تامة يمكن تشغيل ملف صوتي بهذا الكود البسيط:
كود :
[color=#000000][COLOR=#0000bb]Dim myAudioFile [/color][color=#007700]As [/color][COLOR=#0000bb]Audio
myAudioFile [/COLOR][color=#007700]= New [/color][color=#0000bb]Audio[/color][color=#007700]([/color][color=#dd0000]"C:\song.mp3"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Play[/color][COLOR=#007700]()
[/COLOR][/COLOR]
كود :
[color=#000000][COLOR=#0000bb]Audio myAudioFile[/color][COLOR=#007700];
[/COLOR][color=#0000bb]myAudioFile [/color][color=#007700]= new [/color][color=#0000bb]Audio[/color][color=#007700](@[/color][color=#dd0000]"C:\song.mp3"[/color][COLOR=#007700]);
[/COLOR][color=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Play[/color][COLOR=#007700]();
[/COLOR][/COLOR]
فقط لا غير ,, ثلاثة أسطر يمكننا تشغيل ملف صوتي اياً كان صيغته طبعاً طالما ان ملفات الدعم لهذه الصيغة موجودة في النظام Codec:
السطر الأول: تعريف متغير من الفئة Audio
السطر الثاني: إنشاء نسخة جديدة (كائن) من الفئة Audio مع تمرير مسار الملف الصوتي في البارمتر الأول
السطر الثالث: إعطاء أمر التشغيل Play
رابعاً: دعونا الأن نتعرف على أهم خصائص وتوابع هذه الفئة:
كود :
[color=#000000][COLOR=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]CurrentPosition [/color][color=#007700]= [/color][COLOR=#0000bb]10
[/COLOR][/COLOR]
هذه الخاصية تمكننا من تحديد أو معرفة موقع التشغيل للملف يعني عند اي ثانية (اعرف انك لم تفهم ) ,, انظر الصورة التالية
يعني ان الكود السابق تجعل الملف الصوتي يعمل من عند الثانية العاشرة
كود :
[color=#000000][COLOR=#0000bb]myAudioFile[/color][color=#007700].[/color][COLOR=#0000bb]Duration
[/COLOR][/COLOR]
هذه الخاصية تعيد لنا طول المقطع الصوتي بالثواني ,, ولذلك بسهولة يمكننا معرفة طول المقطع الصوتي بالساعات والدقائث والثواني يسهولة:
كود :
[color=#000000][COLOR=#0000bb]Dim ts [/color][color=#007700]As New [/color][color=#0000bb]TimeSpan[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Duration[/color][COLOR=#007700])
[/COLOR][color=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]ts[/color][color=#007700].[/color][color=#0000bb]ToString[/color][COLOR=#007700]()
[/COLOR][/COLOR]
كود :
[color=#000000][COLOR=#0000bb]TimeSpan ts [/color][color=#007700]= new [/color][color=#0000bb]TimeSpan[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Duration[/color][COLOR=#007700]);
[/COLOR][color=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]ts[/color][color=#007700].[/color][color=#0000bb]ToString[/color][COLOR=#007700]();
[/COLOR][/COLOR]
كود :
[color=#000000][COLOR=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Open[/color][color=#007700]([/color][color=#dd0000]"path OR Url"[/color][COLOR=#007700])
[/COLOR][/COLOR]
هذا الاجراء من اجل فتح ملف صوتي جديد لتشغيله والشيء الرائع انه يمكننا بواسطة الفئة Audio تشغيل مقطع صوتي على الانترنت او الكمبيوتر
كود :
[color=#000000][COLOR=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Pause[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Play[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]myAudioFile[/color][color=#007700].[/color][color=#0000bb]Stop[/color][COLOR=#007700]()
[/COLOR][/COLOR]
كود :
[color=#000000][COLOR=#0000bb]myAudioFile[/color][color=#007700].[/color][COLOR=#0000bb]Paused
myAudioFile[/COLOR][color=#007700].[/color][COLOR=#0000bb]Playing
myAudioFile[/COLOR][color=#007700].[/color][COLOR=#0000bb]Stopped
[/COLOR][/COLOR]
هذه الخصائص ترجع لنا قيمة Boolean لمعرفة حالة الملف (يعمل , تم إيقافه , تم إيقافه مؤقتاً)
كود :
[color=#000000][COLOR=#0000bb]myAudioFile[/color][color=#007700].[/color][COLOR=#0000bb]Volume
[/COLOR][/COLOR]
هذه الخاصية تمكننا من معرفة أو تحديد درجة الصوت للملف (ليس درجة صوت النظام) وبذلك يمكننا التحكم بدرجة الصوت دون الرجوع النظام
ولكن الغريب ان قيمة هذه الخاصية ليست بين 0 (صامت) و 100 (أعلى درجة)
وأنما تتراوح بين 0 (أعلى درجة) و ــ 10000 (صامت) (انتبه إلى علامة الناقص باللون الأحمر)
اي عندما تضع myAudioFile.Volume = -10000 اي انه سيتم كتم صوت الملف
وعندما تضع myAudioFile.Volume = 0 اي سيتم رفع الصوت إلى أعلى درجة ممكنة
:: ملاحظة أخيرة :: قيمة الخاصية Volume تتراوح بين 0 و ــ 10000 حسب MSDN ولكن فعلياً تتراوح بين 0 و ــ 5000
الأن الفئة Video:
وهي تشبه الفئة Audio في معظم خصائصها ,, لذلك سأشرح أهم الخصائص والتوابع الخاصة بهذه الفئة Video
كود :
[color=#000000][COLOR=#0000bb]myVideoFile[/color][color=#007700].[/color][COLOR=#0000bb]Audio
[/COLOR][/COLOR]
ترجع لنا هذه الخاصية كائن من نوع Audio يمكننا من التكحم في درجة الصوت الخاص بالفيديو (كما تم شرحه في الفئة Audio)
كود :
[color=#000000][COLOR=#0000bb]myVideoFile[/color][color=#007700].[/color][COLOR=#0000bb]DefaultSize
[/COLOR][/COLOR]
تعيد لنا هذه الخاصية حجم الفيديو الإفتراضي (الأصلي) وبذلك يمكننا استخدامه في تحديد حجم الفورم لملائمة حجم الفيديو بالكامل
كود :
[color=#000000][COLOR=#0000bb]myVideoFile[/color][color=#007700].[/color][COLOR=#0000bb]Owner
[/COLOR][/COLOR]
هذه الخاصية تمكننا من معرفة أو تحديد الكائن الذي يتم عرض الفيديو فيه ,, أي الكود التالي يعرض الفيديو في PictureBox1
كود :
[color=#000000][COLOR=#0000bb]myVideoFile[/color][color=#007700].[/color][color=#0000bb]Owner [/color][color=#007700]= [/color][COLOR=#0000bb]PictureBox1
[/COLOR][/COLOR]
وإذا لم يتم تحديد قيمة لهذه الخاصية فإن الفيديو سيعمل في نافذة خارجية اي لن يعرض ضمن برنامجنا ولذلك يجب الانتباه جيداً لهذه الخاصية المهمة جداً
كود :
[color=#000000][COLOR=#0000bb]myVideoFile[/color][color=#007700].[/color][COLOR=#0000bb]Fullscreen
[/COLOR][/COLOR]
معرفة أو تحديد عرض الفيديو في وضع ملء الشاشة ولكن للأسف يتم عرض الفيديو في وضع ملء الشاشة ضمن نافذة خارجية اي ليس ضمن الكائن الذي تم تحديده في الخاصية Owner ولذلك لن نستفيد منها
كود :
[color=#000000][COLOR=#0000bb]myVideoFile[/color][color=#007700].[/color][COLOR=#0000bb]MaximumIdealSize
myVideoFile[/COLOR][color=#007700].[/color][COLOR=#0000bb]MinimumIdealSize
[/COLOR][/COLOR]
هذه الخاصيتيتن تعيد لنا أقل واكبر حجم مناسب لعرض الفيديو
كود :
[color=#000000][COLOR=#0000bb]myVideoFile[/color][color=#007700].[/color][COLOR=#0000bb]Size
[/COLOR][/COLOR]
هذه الخاصية تمكننا من معرفة او تحديد حجم الفيديو وبذلك يمكننا تحديد الحجم الذي سيعرض به الفيديو ضمن الكائن المحدد بالخاصية Owner
وبذلك اكون قد انهيت شرح هذه الفئيتن الرائعتين وبقيت لي ملاحظة واحدة:
:: يمكن لهاتين الفئتين تشغيل اي صيغة فيديو او صوت طالما ان ملفات الدعم الخاصة بها Codecs مثبتة في النظام