تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أسهل واسرع طريقة لتشغيل ملفات الفيديو والصوت
#1
كاتب الموضوع : abdulla0991


السلام عليكم ورحمة الله وبركاته


سوف أشرح لكم في هذا الموضوع لمحة سريعة عن كيفية استخدام مكتبات 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]


على الأغلب ستجدهما فوراً لأنه لا يكاد يخلو نظام من وجود مكتبات الـ 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 مثبتة في النظام
}}}}
تم الشكر بواسطة:
#2
مكتبات الدعم DirectX

مثال بلغة VB.Net

مثال بلغة #C
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ثقافة برمجية(1): طريقة ترتيب الكود أبو يعقوب 6 841 27-08-13, 11:54 PM
آخر رد: Riad Soft
  ثقافة برمجية(2):طريقة كتابة Property أبو يعقوب 3 820 12-07-13, 04:16 PM
آخر رد: مبرمج بلا حدود
  طريقة عمل Setup شرح مفصل ومزود بالصور أسامة أحمد 8 2,605 25-05-13, 12:46 PM
آخر رد: shaker.soft
  طريقة نسخ فورم من مشروع الى مشورع اخر RaggiTech 0 1,190 27-10-12, 04:40 PM
آخر رد: RaggiTech
  شرح طريقة وضع خريطة داخل برنامجك أو موقعك وإظهار Ip الخاص بالزوار المتواجدين RaggiTech 0 1,237 09-10-12, 06:22 PM
آخر رد: RaggiTech
  طريقة جعل برنامجك زي وورد 2007 و2010 وأحسن بكتير -DotNetBar- RaggiTech 0 879 09-10-12, 06:14 PM
آخر رد: RaggiTech
  طريقة نسخ فورم من مشروع الى مشورع اخر RaggiTech 0 748 09-10-12, 06:13 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم