السلام عليكم ورحمة الله وبركاته
سوف أشرح لكم في هذا الموضوع لمحة سريعة عن كيفية استخدام مكتبات DirectX لتشغيل ملفات الصوت والفيديو بسهولة وكفاءة عالية جداً ,, نبدأ فوراً بالشرح:
أولاً: بما أننا سنعتمد على مكتبة خارجية لذلك يجب أولاً إضافة المكتبات اللازمة وسنحتاج في هذا الدرس لمكتبتين هما:
Microsoft.DirectX.dll
Microsoft.DirectX.AudioVideoPlayback.dll
لإضافتهما: أولاً Add Reference ثم التبويب Browse ثم ابحث عن الملفين في هذا المجلد:
C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.dll
على الأغلب ستجدهما فوراً لأنه لا يكاد يخلو نظام من وجود مكتبات الـ DirectX ,, وإذا لم تجدهما يمكن تحميلهما من المرفقات ثم ربطهم مع البرنامج
ثانياً: استيراد المكتبتين:
using Microsoft.DirectX;
using Microsoft.DirectX.AudioVideoPlayback;
Imports Microsoft.DirectX
Imports Microsoft.DirectX.AudioVideoPlayback
ثالثاً: يلزمنا في هذا الدرس الفئتين Audio و Video الموجودتان في المكتبة Microsoft.DirectX.AudioVideoPlayback.dll
نبدأ بشرح الفئة Aduio أولاً:
الأن سهولة تامة يمكن تشغيل ملف صوتي بهذا الكود البسيط:
Dim myAudioFile As Audio
myAudioFile = New Audio("C:\song.mp3")
myAudioFile.Play()
Audio myAudioFile;
myAudioFile = new Audio(@"C:\song.mp3");
myAudioFile.Play();
فقط لا غير ,, ثلاثة أسطر يمكننا تشغيل ملف صوتي اياً كان صيغته طبعاً طالما ان ملفات الدعم لهذه الصيغة موجودة في النظام Codec:
السطر الأول: تعريف متغير من الفئة Audio
السطر الثاني: إنشاء نسخة جديدة (كائن) من الفئة Audio مع تمرير مسار الملف الصوتي في البارمتر الأول
السطر الثالث: إعطاء أمر التشغيل Play
رابعاً: دعونا الأن نتعرف على أهم خصائص وتوابع هذه الفئة:
myAudioFile.CurrentPosition = 10
هذه الخاصية تمكننا من تحديد أو معرفة موقع التشغيل للملف يعني عند اي ثانية (اعرف انك ام تفهم) ,, انظر الصورة التالية
يعني ان الدالة السابقة تجعل الملف الصوتي يعمل من عند الثانية العاشرة
myAudioFile.Duration
هذه الخاصية تعيد لنا طول المقطع الصوتي بالثواني ,, ولذلك بسهولة يمكننا معرفة طول المقطع الصوتي بالساعات والدقائث والثواني يسهولة:
Dim ts As New TimeSpan(0, 0, myAudioFile.Duration)
TextBox1.Text = ts.ToString()
TimeSpan ts = new TimeSpan(0, 0, myAudioFile.Duration);
TextBox1.Text = ts.ToString();
myAudioFile.Open("path OR Url")
هذا الاجراء من اجل فتح ملف صوتي جديد لتشغيله والشيء الرائع انه يمكننا بواسطة الفئة Audio تشغيل مقطع صوتي على الانترنت او الكمبيوتر
myAudioFile.Pause()
myAudioFile.Play()
myAudioFile.Stop()
الأوامر العادية من اجل تشغيل / إيقاف مؤقت / إيقاف تشغيل المقطع الصوتي
myAudioFile.Paused
myAudioFile.Playing
myAudioFile.Stopped
هذه الخصائص ترجع لنا قيمة Boolean لمعرفة حالة الملف (يعمل , تم إيقافه , تم إيقافه مؤقتاً)
الإجراء Play لتشغيل ملف الذي فتحه بواسطة الفئة Audio
myAudioFile.Playing
ترجع لنا قيمة Boolean لمعرفة هل الملف يعمل حالياً أم لا
myAudioFile.Volume
هذه الخاصية تمكننا من معرفة أو تحديد درجة الصوت للملف (ليس درجة صوت النظام) وبذلك يمكننا التحكم بدرجة الصوت دون الرجوع النظام
ولكن الغريب ان قيمة هذه الخاصية ليست بين 0 (صامت) و 100 (أعلى درجة)
وأنما تتراوح بين 0 (أعلى درجة) و ــ 10000 (صامت) (انتبه إلى علامة الناقص باللون الأحمر)
اي عندما تضع myAudioFile.Volume = -10000 اي انه سيتم كتم صوت الملف
وعندما تضع myAudioFile.Volume = 0 اي سيتم رفع الصوت إلى أعلى درجة ممكنة
:: ملاحظة أخيرة :: قيمة الخاصية Volume تتراوح بين 0 و ــ 10000 حسب MSDN ولكن فعلياً تتراوح بين 0 و ــ 5000
الأن الفئة Video:
وهي تشبه الفئة Audio في معظم خصائصها ,, لذلك سأشرح أهم الخصائص والتوابع الخاصة بهذه الفئة Video:
myVideoFile.Audio
ترجع لنا هذه الخاصية كائن من نوع Audio يمكننا من التكحم في درجة الصوت الخاص بالفيديو (كما تم شرحه في الفئة Audio)
myVideoFile.DefaultSize
تعيد لنا هذه الخاصية حجم الفيديو الإفتراضي (الأصلي) وبذلك يمكننا استخدامه في تحديد حجم الفورم لملائمة حجم الفيديو بالكامل
myVideoFile.Owner
هذه الخاصية تمكننا من معرفة أو تحديد الكائن الذي يتم عرض الفيديو فيه ,, أي الكود التالي يعرض الفيديو في PictureBox1
myVideoFile.Owner = PictureBox1
وإذا لم يتم تحديد قيمة لهذه الخاصية فإن الفيديو سيعمل في نافذة خارجية اي لن يعرض ضمن برنامجنا ولذلك يجب الانتباه جيداً لهذه الخاصية المهمة جداً
myVideoFile.Fullscreen
معرفة أو تحديد عرض الفيديو في وضع ملء الشاشة ولكن للأسف يتم عرض الفيديو في وضع ملء الشاشة ضمن نافذة خارجية اي ليس ضمن الكائن الذي تم تحديده في الخاصية Owner ولذلك لن نستفيد منها
myVideoFile.MaximumIdealSize
myVideoFile.MinimumIdealSize
هذه الخاصيتيتن تعيد لنا أقل واكبر حجم مناسب لعرض الفيديو
myVideoFile.Size
هذه الخاصية تمكننا من معرفة او تحديد حجم الفيديو وبذلك يمكننا تحديد الحجم الذي سيعرض به الفيديو ضمن الكائن المحدد بالخاصية Owner
وبذلك اكون قد انهيت شرح هذه الفئيتن الرائعتين وبقيت لي ملاحظة واحدة:
:: يمكن لهاتين الفئتين تشغيل اي صيغة فيديو او صوت طالما ان ملفات الدعم الخاصة بها Codecs مثبتة في النظام
والسلام عليكم ورحمة الله
Toshiba L755-144 Laptop
- on 11:19 AM
- No comments
Toshiba L755-144 Laptop With 1GB Graphics
Intel Core i5 - 2410M, 6GB, 640GB, Windows 7 Home Premium, Blu-ray player, 15.6"
Processor Type
Intel Core i5
Processor Model
2410M
Processor Speed (GHz)
2.3
Memory
6GB
Hard Drive
640GB
Optical Drive
DVD Super Multi drive/Blu-ray
Operating System
Windows 7 Home Premium (64-Bit)
Screen Size (Inches)
15.6
Screen Type
TruBrite® HD TFT
Memory Card Reader
MEMORY STICK
Memory Card Reader
MEMORY STICK PRO
Memory Card Reader
MULTIMEDIA CARD
Memory Card Reader
MINISD
Memory Card Reader
MICROSD
Memory Card Reader
SDHC MEMORY CARD
Memory Card Reader
SDXC
Webcam
Web Camera with built-in mic
Speakers
Built-in Onkyo stereo speaker
Wireless
802.11 b/g/n
Graphics
NVIDIA® GeForce® GT 525M 1GB
Manufacturer Part No
PSK2YE-03J014EN
USB
USB 2.0 X 2
USB
USB 3.0 X 1
HDMI
1
Bluetooth
Bluetooth 3.0 + HS
Additional Features
1 × USB 3.0 supporting USB Sleep-and-Charge
Screen Resolution
1366 x 768
Number of Cores
Colour
BLACK
Guarantee
1 Year
Weight (kg)
2.5
Height (mm)
28
Width (mm)
380
Depth (mm)
250
أعتقه الله كله من النار
- on 11:16 AM
- No comments
عَنْ سَلْمَانٍ الْفَارِسِيّ رَضِيَ الله عَنْهُ قَالَ: قَالَ رَسُولُ الله صَلَّى الله عَلَيْهِ وَسَلَّمَ :"مَنْ قَالَ: اللَهُمَّ إِنِّي أُشْهِدُكَ وَأُشْهِدُ مَلَائِكَتِكَ وَحَمَلَةَ عَرْشِكَ وَأُشْهِدُ مَنْ فَي السَّمَاوَاتِ وَمَنْ فِي الأَرْضِ أَنَّكَ أَنْتَ الله لا إِلَهَ إِلا أَنْتَ وَحْدَكَ لا شَرِيكَ لَكَ وَأَشْهَدُ أَنَّ مُحَمَّدًا عَبْدُكَ وَرَسُولُك مَنْ قَالَهَا مَرَّةً أَعْتَقَ الله ثُلُثَهُ مِنَ النَّارِ وَمَنْ قَاَلَهَا مَرَّتَيْنِ أَعْتَقَ الله ثُلُثَيْهِ مِنَ النَّارِ وَمَنْ قَالَهَا ثَلَاثًا أَعْتَقَ الله كُلَّهُ مِنَ النَّارِ". أخرجه الحاكم ( 1 / 523 ) وصححه الألباني (السلسلة الصحيحة، 1/ 476).