1. المقدمة
مع التحسين المستمر لبيئة أجهزة الوسائط المتعددة وبيئة البرامج، يتضمن معظم تطوير برامج الكمبيوتر حاليًا تطبيق تكنولوجيا برامج الوسائط المتعددة.
لتصميم تطبيقات الوسائط المتعددة، من حيث المبدأ، يمكن استخدام مستويات متعددة من الأدوات، بدءًا من لغة C إلى أنظمة التطوير الخاصة بالوسائط المتعددة (مثل TOOLBOOK، AUTHORWARE، DIRECTOR). ومع ذلك، نظرًا لأن برامج الوسائط المتعددة تتضمن وسائط معقدة ومتنوعة، ولها دورة تطوير قصيرة، وتتطلب مشاركة مجموعة متنوعة من المتخصصين، من أجل إجراء تطوير عملي وفعال، فمن الضروري اختيار برامج سهلة الاستخدام وذات كفاءة عالية. كفاءة تطوير عالية.
VisualBasic هو برنامج أداة برمجة Windows تم تطويره بواسطة Microsoft. بسبب أفكار التصميم المتقدمة، والاستخدام السريع والسهل، والوسائل المرنة والمتنوعة للتحكم في كائنات الوسائط، فقد جذبت انتباه وتفضيل مطوري برامج الوسائط المتعددة، وبالتالي أصبحت أداة مثالية لتطوير تطبيقات الوسائط المتعددة.
2. التحكم في الوسائط المتعددة في VisualBasic MCI.OCX
MCI (واجهة التحكم في الوسائط) هي واجهة قياسية للتحكم في الوسائط توفرها Microsoft لتحقيق استقلالية الجهاز في أنظمة Windows. يمكن للمستخدمين بسهولة استخدام MCI للتحكم في أجهزة الوسائط المتعددة القياسية.
يتم تضمين MCI في وحدة MMSYSTEM الخاصة بملحق Windows Multimedia Extension، والذي يُستخدم لتنسيق الاتصال بين الأحداث وبرامج تشغيل أجهزة MCI، ويوفر سمات واجهة مستقلة عن الجهاز. عادةً ما تميز التطبيقات أجهزة MCI عن طريق تحديد نوع جهاز MCI. يحدد نوع الجهاز النوع الفعلي للجهاز المستخدم حاليًا. يتم وصف أنواع الأجهزة المختلفة باستخدام سمات تحكم مختلفة (انظر جدول الملحق 1).
من حيث طرق التحكم المستخدمة، تنقسم معدات MCI إلى فئتين: مركبة وبسيطة. لا يتطلب جهاز MCI البسيط عنصرًا في الجهاز. على سبيل المثال، تعمل مشغلات الصوت والأقراص المضغوطة على محرك أقراص ثابت مثبت بالفعل ولا تتطلب من التطبيقات تقديم أي معلومات حول محتوى الوسائط التي تعمل عليها. لكن بالنسبة لأجهزة MCI المركبة، يحتاج التطبيق إلى توفير عنصر جهاز، أي ملف بيانات مصدر أو ملف وجهة يحتوي على كافة أسماء المسارات.
يعكس مفهوم CustomControl (مكون التحكم في المستخدم) للغة VisualBasic اتجاه تطوير تصميم البرامج اليوم - التكنولوجيا الموجهة للكائنات. يمكن للمبرمجين تضمين مجموعة متنوعة من عناصر تحكم المستخدم في صندوق أدوات VisualBasic (صندوق الأدوات)، ولكل عنصر تحكم مستخدم سمات معينة. وطرق التشغيل يمكن للمبرمجين إكمال وظائف محددة عن طريق تحديد السمات وطرق التحكم. للتحكم في الوسائط المتعددة بسهولة، يتم توفير عنصر تحكم المستخدم لأغراض الوسائط المتعددة-MCI.OCX في الإصدار الاحترافي من صندوق أدوات VisualBasic.
التحكم في MCI للوسائط المتعددة يستخدم MCI.OCX خصيصًا لتسجيل وتشغيل ملفات بيانات الوسائط المتعددة لأجهزة MCI لواجهة التحكم بالوسائط المتعددة، من حيث الغرض والتأثير، يستخدم عنصر التحكم هذا مجموعة من الأزرار لإصدار أوامر التحكم المختلفة بالجهاز لتحقيق التحكم مثل: لوحة الصوت، والتحكم MIDI في أجهزة التسلسل، ومحركات الأقراص المضغوطة، ومشغلات الأقراص المضغوطة الصوتية، وتشغيل أشرطة الفيديو، وتسجيل الأشرطة الصوتية وتشغيلها، وغيرها من المعدات. في برمجة Visual Basic، عند إضافة عنصر تحكم MCI للوسائط المتعددة إلى الجدول (انقر نقرًا مزدوجًا فوق عنصر تحكم MCI في مربع الأدوات)، ستظهر مجموعات الأزرار التالية: للأمام (PRev)، للخلف (التالي)، تشغيل (تشغيل)، إيقاف مؤقت ( إيقاف مؤقت، رجوع، خطوة، إيقاف، تسجيل وإخراج.
التطبيق مرن للغاية ومريح لتشغيل هذه المجموعة من أزرار MCI. على سبيل المثال، عندما نفتح جهاز MCI، يمكننا تحديد زر الحالة المناسب من عنصر التحكم في أي وقت وفقًا لخصائص نوع الجهاز لتمثيل. الحالة المادية الفورية للجهاز. يمكن برمجة جميع عناصر التحكم MCI بالطرق التالية: ⑴ رؤية وتمكين عنصر التحكم وأزراره؛ ⑵ إعادة تعريف متغيرة أو كاملة لعنصر التحكم ⑶ يمكن التحكم في أجهزة متعددة في وقت واحد في شكل نافذة.
3. استدعاء مكون التحكم بالوسائط المتعددة MCI.OCX
في Visual Basic 3.0 Professional Edition، يتم توفير عنصر تحكم الوسائط المتعددة MCI.OCX (في Visual Basic 3.0 و4.0، ملحق عنصر تحكم الوسائط المتعددة هو .VBX) كمكون اختياري. لاستخدامه، يجب عليك أولاً تنفيذ أمر القائمة FileAddFile وإضافة MCI.OCX في دليل نظام Windows إلى مربع الأدوات (صندوق الأدوات). في هذا الوقت، سيظهر رمز MCI.OCX المقابل في مربع الأدوات. إذا كنت تستخدم Visual Basic الإصدار 4.0 (أو الإصدار 5.0)، فحدد قائمة oolsCustomControls أو اكتب Ctrl T مباشرة، وسيظهر مربع حوار، حدد خانة الاختيار المجاورة لإدخال MicrosoftMultimediaControls في مربع القائمةavailableControls، وسيظهر MCI أيضًا في أيقونة مربع الأدوات .OCX.
انقر نقراً مزدوجاً فوق رمز تحكم الوسائط المتعددة MCI.OCX في مربع الأدوات بعد استدعاء عنصر التحكم MCI.OCX، سيظهر صف من أزرار التحكم بالوسائط الرمادية (تسعة) في النموذج FORM.
4. خطوات تصميم تطبيق الوسائط المتعددة VisualBasic
التحكم بالوسائط المتعددة يحتوي MCI.OCX على مجموعة من أوامر التحكم المتقدمة المستقلة عن الجهاز. عند استخدام عنصر تحكم الوسائط المتعددة هذا، استخدم أولاً أمر OPEN لفتح جهاز MCI (جهاز وسائط متعددة) وإنشاء ملف مطابق لإجراء عمليات مثل التسجيل أو التشغيل (ولكن لا يمكن استخدام الملفات المقابلة لأشرطة CDAudio وVCR وأشرطة الفيديو). بمجرد فتح الجهاز بنجاح، يمكن إصدار أوامر تشغيل مختلفة (انظر أوامر الزر في الجدول المرفق) لإكمال مهام العمل المحددة. وأخيرًا، تذكر استخدام الأمر Close لإغلاق الأجهزة وملفات البيانات.
من السهل جدًا استخدام MCI.OCX لتطوير تطبيقات الوسائط المتعددة، نظرًا لسهولة فهم معظم الخصائص، ومن بينها خاصية Command ذات أهمية خاصة، والتي ترسل الأوامر إلى جهاز الوسائط المتعددة أثناء التشغيل. التنسيق هو:
Form.Mmcontrol.Command=cmdstring$
من بينها، المتغير cmdstring$ هو اسم الأمر القابل للتنفيذ التالي: فتح، إغلاق، تشغيل، إيقاف مؤقت، إيقاف، رجوع، خطوة، السابق، التالي، البحث، تسجيل، إخراج، صوت وحفظ. بمجرد تعيين الأمر، يتم تنفيذه على الفور، ويتم تخزين أي أخطاء تحدث في سمة الخطأ.
يأخذ ما يلي تشغيل ملف DEMO.WAV (ملف الموجي) كمثال لتوضيح خطوات تصميم تطبيق الوسائط المتعددة VisualBasic.
أولاً، قم بإنشاء نموذج (Form) يحتوي على عناصر تحكم الوسائط المتعددة (MCI.OCX)، بحيث يتم عرض مفاتيح التحكم على شكل مسجل على الشاشة، ولكن في هذا الوقت لا يمكن استخدام مكونات التحكم في الوسائط المتعددة على الفور (المفاتيح باللون الرمادي)، يجب تغيير حالة المفتاح من خلال رمز البرنامج.
ثانيا، في عملية Form_Load، أدخل رمز البرنامج المقابل. على النحو التالي
SubForm_Load()
'اضبط خصائص جهاز الوسائط المتعددة قبل إصدار أمر OPEN
Form1.MMControl1.Notify=False
Form1.MMControl1.Wait=True
Form1.MMControl1.Shareable=False
Form1.MMControl1.DeviceType = "WaveAudio"
Form1.MMControl1.FileName = "c:windowss
ممدتاتاديمو.واف"
Form1.MMControl1.Command = "فتح"
EndSub
أخيرًا، قم بتشغيل البرنامج أعلاه وستتحول مفاتيح التحكم إلى اللون الأسود. في هذا الوقت، يمكنك استخدام مفاتيح التشغيل والتسجيل والمفاتيح الأخرى لتشغيل ملف البيانات DEMO.WAV. على سبيل المثال، يمكنك سماع التأثير الصوتي .WAV بالنقر فوق الزر "تشغيل" بالماوس (يجب أن يكون الكمبيوتر مزودًا بجهاز نطق).
من خلال البيان أعلاه، ليس من الصعب أن تجد أن VisualBasic يستخدم عنصر تحكم الوسائط المتعددة MCI.OCX لإعداد برنامج يسهل إتقانه.
5. أمثلة لتصميم تطبيقات الوسائط المتعددة VisualBasic
1. قم بتشغيل موسيقى القرص المضغوط
توفر العديد من أنظمة برامج الوسائط المتعددة برنامج مشغل أقراص الليزر باستخدام التحكم في الوسائط المتعددة MCI.OCX، يمكننا بسهولة برمجة مشغل أقراص ليزر بسيط يلبي متطلباتنا الخاصة.
يقدم الجدول 1 تعريفًا لمكونات التحكم الرئيسية لمشغل الأقراص المضغوطة البسيط، متبوعًا بكود البرنامج المصدر المطابق لكل حدث تشغيل.
القائمة الكاملة للبرنامج المصدر هي كما يلي:
`الأداة المساعدة لمشغل الأقراص المضغوطة
`يُرجى تحميل قرص ليزر في محرك الأقراص المضغوطة قبل تشغيل البرنامج' يؤدي الزر "LOAD" إلى تشغيل الحدث
PrivateSubCommand1_Click()
`قم بتحميل سجل القرص المضغوط
OnErrorGoToMCI_ERROR
MMControl1.Command = "فتح"
OnErrorGoTo0
`ضبط تنسيق الوقت
MMControl1.TimeFormat=vbMCIFormatTmsf
`أغلق زر التحميل واعرض الصورة
Command1.Enabled=خطأ
Picture1.Picture=Picture3.Picture
`قم بتعيين العدد الأولي للمسارات
التسمية 1. التسمية التوضيحية = "1"
ExitSub
خطأ MCI_ERROR:
DisplayErrorMessageBox
استئنافMCI_EXIT
MCI_EXIT:
تفريغ القرص المضغوط
EndSub
PrivateSubForm_Load()
MMControl1.Wait=True
MMControl1.UpdateInterval=0
`ضبط نوع الجهاز
MMControl1.DeviceType = "CDAudio"
`اضبط رقم المسار الافتراضي على 0
التسمية 1. تسمية توضيحية = "0"
الفرعي
PrivateSubForm_Unload(CancelAsInteger)
MCITest.Show
EndSub
يقوم زر "الإخراج" بتشغيل الحدث
PrivateSubMMControl1_EjectClick(CancelAsInteger)
Command1.Enabled=صحيح
Picture1.Picture=Picture2.Picture
MMControl1.UpdateInterval=0
OnErrorGoToMCI_ERROR2
MMControl1.Command = "إخراج"
MMControl1.Command = "إغلاق"
OnErrorGoTo0
التسمية 1. تسمية توضيحية = "0"
Label3.BackColor=&H404040
ExitSub
MCI_ERROR2:
DisplayErrorMessageBox
استئناف التالي
EndSub
"يؤدي الزر "الأمام" إلى تشغيل الحدث."
PrivateSubMMControl1_NextCompleted(ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
EndSub
"يؤدي زر "الإيقاف المؤقت" إلى تشغيل الحدث
PrivateSubMMControl1_PauseClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
EndSub
"يؤدي زر "التشغيل" إلى تشغيل الحدث."
PrivateSubMMControl1_PlayClick(CancelAsInteger)
MMControl1.UpdateInterval=1000
Label1.Caption=Str$(MMControl1.Track)
EndSub
"يقوم زر "الرجوع" بتشغيل الحدث."
PrivateSubMMControl1_PrevCompleted(ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
EndSub
PrivateSubMMControl1_StatusUpdate()
Label1.Caption=Str$(MMControl1.PositionAnd&HFF)
IfMMControl1.Mode=vbMCIModePlayThen
Label3.BackColor=&H80FF&
آخر
Label3.BackColor=&H404040
EndIf
EndSub
"يؤدي الزر "إيقاف" إلى تشغيل الحدث
PrivateSubMMControl1_StopClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
MMControl1.To=MMControl1.Start
MMControl1.Command = "البحث"
MMControl1.Track=1
التسمية 1. التسمية التوضيحية = "1"
EndSub
2. تشغيل ملفات AVI (واجهة الصوت والفيديو).
تعد الأفلام (بما في ذلك الصوت والصور) إحدى معلومات الوسائط التي يهتم بها معظم العاملين في مجال الكمبيوتر، كما تعد تقنية معالجة الأفلام إحدى تقنيات الوسائط المتعددة الرئيسية. في أنظمة الوسائط المتعددة، تعد ملفات AVI (واجهة الصوت والفيديو) تنسيقًا قياسيًا لتخزين الأفلام (بما في ذلك الأصوات والصور)، ويتم الحصول على ملفات AVI هذه بشكل عام عن طريق التقاط إشارات الفيديو في الوقت الفعلي، أو يمكن الحصول على الصور من خلال الماسح الضوئي أو الحصول عليها باستخدام. برامج الرسوم المتحركة. ولذلك فإن عمليات الصوت والفيديو على نافذة الشاشة تصبح معالجة ملفات AVI (لاحقة الملف هي AVI). في العمل الفعلي، هناك العديد من الطرق لتشغيل ملفات AVI (أي مقاطع الفيديو)، ومن بينها طريقة استخدام التحكم في الوسائط المتعددة لـ Visual Basic هي الأبسط والأكثر ملاءمة. فيما يلي مثال محدد لتوضيح كيفية تشغيل ملف AVI: افترض أن هناك ملف فيديو وصوت باسم DEMO.AVI في الدليل الحالي للمستخدم، واستخدام VisulBasic لتشغيل الفيديو يتطلب الخطوات التالية:
(1) إضافة عنصر تحكم الوسائط المتعددة MMControl، وعنصر تحكم مربع الصورة PictureBox ومكوني زر أمر ComandButton إلى نموذج Visual Basic؛
(2) قم بتعيين خصائص كل عنصر تحكم، حيث يسمى النموذج Form1، ويسمى عنصر تحكم الوسائط المتعددة MMControl MMControl1، ويسمى عنصر التحكم في مربع الصورة PictureBox Picture1، ويتم تسمية عنصري تحكم زر أمر ComandButton بالتشغيل والإغلاق على التوالي؛
(3) اكتب رمز البرنامج المصدر لكل حدث مشغل وقم بتشغيله. كود المصدر هو:
PrivateSubPlay_Click()
MMControl1.Filename = "DEMO.AVI"
MMControl1.DeviceType=="AVIVIDEO"
MMControl1.hWndDisplay=Picture1.hWnd
MMControl1.Command = "فتح"
MMControl1.To=1
MMControl1.Command = "البحث"
MMControl1.Command = "تشغيل"
EndSub
PrivateSubClose_Click()
MMControl1.Command = "STOP"
MMControl1.Command = "إغلاق"
EndSub
تجدر الإشارة إلى أنه قبل تشغيل ملفات AVI، يجب أولاً تثبيت برنامج تشغيل AVI (الصوت والفيديو) ضمن نظام التشغيل Windows. اسم برنامج تشغيل AVI هو MCIAVI.DRV ويجب نسخه إلى دليل نظام WINDOWS وإضافته إلى القسم [MCI] من الملف SYSTEM.INI:
AVIVIDEO=MCIAVI.DRV
بهذه الطريقة، عند تشغيل Windows، سيقوم Windows تلقائيًا بتثبيت برنامج تشغيل AVI.
ما ورد أعلاه يصف فقط عملية تشغيل مكون التحكم في الوسائط المتعددة لتشغيل الملفات الصوتية (.WAV)، وسجلات الأقراص المضغوطة، وملفات الصوت والفيديو (.AVI). في الواقع، يمكن أيضًا استخدام مكون التحكم في الوسائط المتعددة لتشغيل ملفات الرسوم المتحركة (.FLI، .FLC)، وملفات MIDI ومعلومات الوسائط الأخرى.
6. الاستنتاج
من خلال المناقشة السابقة، ليس من الصعب أن نرى أنه باستخدام مكون التحكم في الوسائط المتعددة MCI.OCX الذي يوفره Visual Basic، يمكن لغالبية مستخدمي الكمبيوتر تطوير تطبيقات الوسائط المتعددة المختلفة بسهولة وسرعة وكفاءة. ولكن يجب التأكيد على أنه عند تطوير وتصميم تطبيقات الوسائط المتعددة Visual Basic، بالإضافة إلى استخدام مكونات التحكم في الوسائط المتعددة، يمكن أيضًا استخدام وسائل أخرى، مثل استدعاء وظائف API، وما إلى ذلك. (نظرًا للطول، لم يتم مناقشة هذا الأمر هنا). يمكن ملاحظة أن Visual Basic هي بالفعل أداة تطوير مثالية لكل من مطوري برامج الوسائط المتعددة المحترفين وغير المحترفين.
الملحق 1 تعريف نوع جهاز MCI
وصف الجهاز نوع الجهاز
مشغل أقراص ليزر CDAudio
DAT مشغل الصوت الشريط الرقمي
DigitalVideo معدات تصوير الفيديو الرقمي الديناميكي
معدات تشغيل الرسوم المتحركة
أجهزة MCI الأخرى التي لم يتم تقديم تعريف قياسي لها
تراكب يحاكي جهاز تراكب صورة الفيديو
تسلسل MIDI التسلسل
مسجل القرص الذي يتحكم فيه برنامج VCR
يمكن لـ VideoDisc استخدام مشغلات أقراص الفيديو الليزرية التي يتم التحكم فيها عن طريق البرنامج
WaveAudio هو جهاز يقوم بتشغيل الصوت الموجي الرقمي؟؟؟
الملحق 2 قائمة الأحداث الفريدة لمكونات التحكم في الوسائط المتعددة
وصف الحدث
تم إكمال إجراء أمر MCI (الإعلام صحيح)
زر انقر فوق زر
ButtonCompleted إكمال أمر تنفيذ الزر
يحصل زر ButtonGetFocus على تركيز الإدخال
لقد فقد ButtonLostFocusButton تركيز الإدخال
يقوم StatusUpdate بتحديث معلومات الحالة الخاصة بكائن التحكم في الوسائط->