مواضيع ذات صلة
- التعامل مع الفورم Form في فيجوال بيسك
- أساسيات الفيجوال بيسك
- تعليمات الفيجوال بيسك
- صندوق كتابة الشيفرة والأحداث في الفيجوال بيسك
- انشاء برنامج من مشروع فيجوال بيسك وعمل setup له
- مزايا وعيوب فيجوال بيسك
- كائن التطبيقات OLE في فيجوال بيسك
- المصفوفات والمتغيرات فيجوال بيسك
- محرر القوائم المنسدلة في فيجوال بيسك
- كيف تتعامل مع الاخطاء في فيجوال بيسك
إن برامج الملتيميديا عادة يحتي على صوت أو مشغل الصوت فمن هنا دعت الحاجة توضيح كيفية التعامل مع الصوت في برنامجك الذي برمجته بلغة فيجوال بيسك سواء استخدمت اداته الخاص المعروف بـ MCI أو استخدمت الصوت بدون اي اداة غير التعليمات الخاصة بالصوت لتشغيله فسنتعلم كل تلك الامور في التعامل مع الصوت في هذا الموضوع
فهناك طريقتين لتشغيل الصوت
تشغيل الصوت دون أدوات
طريقة تشغيل ملف صوت WAV عن طريق برنامجك دون ان تحتاج إلى وضع عنصر تحكم جاهز أضف فورم ووحدة نمطية Module انسخ الأسطر التالية إلى الوحدة النمطية Module
أضف الكود التالي إلى زر أمر Command
لاتنسى تبديل ماهو مكتوب باللون الأزرق إلى عنوان الملف كاملاً لاحظ أنه لايشغل التنسيقات الضخمة مثل mp3 وأحيانأ ملفات الصوت الضخمة أيضاً, هناك طريقة أخرى أيضاً ضع هذه الأسطر في فسم التصريحات General
أضف السطر التالي إلى زر الأمر Command
ولاتنسى تكتب مسار الملف كامل
تشغيل الصوت بأداة MCI
هناك طريقة جيدة لتشغيل الصوت بكافة انواعه وهي عن طريق إستخدام عنصر التحكم Microsoft Multimedia Control
طريقة وضعه على الفورم هي :
أنقر بالزر اليمين للماوس فوق صندوق الأدوات . فتظهر لك قائمة إختر منها Components
فيظهر لك مربع حوار يحوي على الأدوات سوف تجد فيها العنصر Microsoft Multimedia Control وأنقر فوق الزر Ok ضعها على الفورم وأضف العناصر التالية
أدوات عرض الملفات
Driver1
Dir1
File1
وأداة النصوص Label1
إضافةً إلى عنصر الملتميديا MMControl1
لاحظ شكل أداة الملتميديا في أسفل النموذج
1- أنقر فوق أداة السواقات Drive1 نقرتين وأكتب السطر التالي
وهذا يقوم بعرض المجلدات الموجودة داخل المحرك المحدد
2- أنقر فوق أداة المجلدات Dir1 وأكتب الكود اتالي:
وهو يقوم بعرض الملفات في المجلد المحدد داخل أداة الملفات File1
3- أنقر فوق صندوق الملفات وأكتب السطر الأسطر التالية
السطر الأول يقوم بعرض المسار الكامل للملف المحدد في صندوق الملفات داخل الأداة Label1
السطر الثاني يقوم بتحديد الملف لأداة الملتميديا وهو الملف المكتوب داخل الأداة Label1
السطرين الأخيرين يقومان بتشغيل الملف
لاحظ الأوامر المكتوبة لعنصر التحكم MMControl1 يمكنك إخفاء أداة الملتميديا MMControl1 عن طريق خاصية Visible وبعد ذلك تضيف صور تكون قد صممتها لتكون بدلاً من ازرار العنصر MMControl1
ثم أنقر فوق الصورة التي وضعتها وأكتب الأوامر للأداة MMControl1 مثلاً
في الصورة الأولى لتكن رمز التشغيل:
في الصورة الثانية لتكن رمز إيقاف مؤقت:
وهكذا ضع الأوامر المعروفة مثلاً Stopو Play .......
يمكنك إضافة ميزات كثيرة أيضا منها شريط الحالة الذي يعطيك إلى أين وصلت قرائة الملف :
أضف إلى الفورم السابق شريط التمرير الأفقي HScroll1 ثم أنقر فوق أداة الملتميديا وإختر الحدث StatusUpdate ثم أكتب الكود التالي:
ويمكنك إضافة أداة Label ليتم عرض الوقت الأصلي للملف والوقت الذي تم قرائته كمايلي:
أضف أداتين Label2 و Label3 وأكتب الكود التالي في حدث StatusUpdate لأداة الملتميديا تحت الكود السابق:
فهناك طريقتين لتشغيل الصوت
تشغيل الصوت دون أدوات
طريقة تشغيل ملف صوت WAV عن طريق برنامجك دون ان تحتاج إلى وضع عنصر تحكم جاهز أضف فورم ووحدة نمطية Module انسخ الأسطر التالية إلى الوحدة النمطية Module
Code
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Global Const SND_ASYNC = &H1
Global Const SND_ASYNC = &H1
أضف الكود التالي إلى زر أمر Command
Code
rc = sndPlaySound(إسم ملف الصوت هنا, SND_ASYNC)
لاتنسى تبديل ماهو مكتوب باللون الأزرق إلى عنوان الملف كاملاً لاحظ أنه لايشغل التنسيقات الضخمة مثل mp3 وأحيانأ ملفات الصوت الضخمة أيضاً, هناك طريقة أخرى أيضاً ضع هذه الأسطر في فسم التصريحات General
Code
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Const SND_ALIAS = &H10000
Const SND_ASYNC = &H1
Const SND_SYNC = &H0
Const SND_NOWAIT = &H2000
Const SND_LOOP = &H8
Sub SoundCheck()
Dim lRetVal As Long
lRetVal = sndPlaySound("عنوان الملف هنا", SND_SYNC)
End Sub
Const SND_ALIAS = &H10000
Const SND_ASYNC = &H1
Const SND_SYNC = &H0
Const SND_NOWAIT = &H2000
Const SND_LOOP = &H8
Sub SoundCheck()
Dim lRetVal As Long
lRetVal = sndPlaySound("عنوان الملف هنا", SND_SYNC)
End Sub
أضف السطر التالي إلى زر الأمر Command
Code
SoundCheck
ولاتنسى تكتب مسار الملف كامل
تشغيل الصوت بأداة MCI
هناك طريقة جيدة لتشغيل الصوت بكافة انواعه وهي عن طريق إستخدام عنصر التحكم Microsoft Multimedia Control
طريقة وضعه على الفورم هي :
أنقر بالزر اليمين للماوس فوق صندوق الأدوات . فتظهر لك قائمة إختر منها Components
فيظهر لك مربع حوار يحوي على الأدوات سوف تجد فيها العنصر Microsoft Multimedia Control وأنقر فوق الزر Ok ضعها على الفورم وأضف العناصر التالية
أدوات عرض الملفات
Driver1
Dir1
File1
وأداة النصوص Label1
إضافةً إلى عنصر الملتميديا MMControl1
لاحظ شكل أداة الملتميديا في أسفل النموذج
1- أنقر فوق أداة السواقات Drive1 نقرتين وأكتب السطر التالي
Code
On Error Resume Next
Dir1 = Drive1
Dir1 = Drive1
وهذا يقوم بعرض المجلدات الموجودة داخل المحرك المحدد
2- أنقر فوق أداة المجلدات Dir1 وأكتب الكود اتالي:
Code
File1 = Dir1
وهو يقوم بعرض الملفات في المجلد المحدد داخل أداة الملفات File1
3- أنقر فوق صندوق الملفات وأكتب السطر الأسطر التالية
Code
Label1 = Dir1.Path & "\" & File1
MMControl1.FileName = Label1
MMControl1.Command = "open"
MMControl1.Command = "play"
MMControl1.FileName = Label1
MMControl1.Command = "open"
MMControl1.Command = "play"
السطر الأول يقوم بعرض المسار الكامل للملف المحدد في صندوق الملفات داخل الأداة Label1
السطر الثاني يقوم بتحديد الملف لأداة الملتميديا وهو الملف المكتوب داخل الأداة Label1
السطرين الأخيرين يقومان بتشغيل الملف
لاحظ الأوامر المكتوبة لعنصر التحكم MMControl1 يمكنك إخفاء أداة الملتميديا MMControl1 عن طريق خاصية Visible وبعد ذلك تضيف صور تكون قد صممتها لتكون بدلاً من ازرار العنصر MMControl1
ثم أنقر فوق الصورة التي وضعتها وأكتب الأوامر للأداة MMControl1 مثلاً
في الصورة الأولى لتكن رمز التشغيل:
Code
MMControl1.Command = "play"
في الصورة الثانية لتكن رمز إيقاف مؤقت:
Code
MMControl1.Command = "Pause"
وهكذا ضع الأوامر المعروفة مثلاً Stopو Play .......
يمكنك إضافة ميزات كثيرة أيضا منها شريط الحالة الذي يعطيك إلى أين وصلت قرائة الملف :
أضف إلى الفورم السابق شريط التمرير الأفقي HScroll1 ثم أنقر فوق أداة الملتميديا وإختر الحدث StatusUpdate ثم أكتب الكود التالي:
Code
HScroll1.Value = mm.Position * 100 / MMControl1 .Length
ويمكنك إضافة أداة Label ليتم عرض الوقت الأصلي للملف والوقت الذي تم قرائته كمايلي:
أضف أداتين Label2 و Label3 وأكتب الكود التالي في حدث StatusUpdate لأداة الملتميديا تحت الكود السابق:
Code
Dim a As Integer
Dim b As Integer
a = MMControl1.Length / 1000
b = MMControl1.Position / 1000
Label2.Caption = a
Label3.Caption = b
Dim b As Integer
a = MMControl1.Length / 1000
b = MMControl1.Position / 1000
Label2.Caption = a
Label3.Caption = b