١١. بناء مشغل وسائط متعددة Multimedia Player
مختبر
في الدروس السابقة، تعرفت على كيفية التعامل مع "عناصر الصوت والفيديو" audio and video elements .
وفي هذا المختبر، ستقوم بإنشاء "مشغل وسائط متعددة" (a multimedia player) يعرض مقطعاً صوتياً وفيديو مصحوباً بـ"نص مكتوب للمحتوى الصوتي" (a transcript) .
بالنسبة لـ"عنصر الصوت" audio ، ستحتاج إلى تضمين "عنصر مصدر" source يُستخدم لتحديد "الوسائط المُستخدَمة" (the media being used) .
إليك مثال:
<audio controls aria-label="هنا توضع التسمية الوصفية">
<source src="ضع—الرابط—الصوتي—هنا" type="audio/mpeg">
</audio>
يمكن أيضاً استخدام "عنصر المصدر" source داخل "عنصر الفيديو" video على النحو التالي:
<video controls width="600" aria-label="هنا توضع التسمية الوصفية">
<source src="هنا—ضع—الرابط—المؤدي—إلى—ملف—MP4" type="video/mp4">
<!-- Remaining code goes here يتم وضع بقية الكود هنا -->
</video>
الهدف: تنفيذ "قصص المستخدم" (the user stories) الموضحة أدناه.
نموذج HTML
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>مشغل وسائط متعددة Multimedia Player</title>
</head>
<body>
</body>
</html>
قصص المستخدم User Stories :
١. يجب أن يكون لديك عنصر
h1للعنوان الرئيسي للصفحة.٢. يجب أن يكون لديك ثلاثة عناصر من نوع
section.٣. داخل عنصر القسم
sectionالأول، يجب أن يكون لديك عنصرh2لعنوان الأغنية التي يتم تشغيلها.٤. أسفل عنصر
h2، يجب أن تضع عنصر صوتaudioيحتوي على السمةcontrolsوالسمةaria-label.٥. داخل "عنصر الصوت"
audio، يجب أن يتوفر لديك "عنصر مصدر"sourceيحتوي على السمةsrcالتي تشير إلى "ملف صوتي" (an audio file) ، بالإضافة إلى السمةtype. يمكنك استخدام رابط الملف الصوتي هذا إذا أردت:https://cdn.freecodecamp.org/curriculum/js-music-player/sailing-away.mp3٦. داخل عنصر "القسم"
sectionالثاني، يجب أن يكون لديك عنصرh2لعنوان الفيديو الذي يتم تشغيله.٧. أسفل عنصر
h2، يجب أن تضع "عنصر فيديو"videoيحتوي على "عناصر تحكم"controls، وسمات للعرضwidth، وسمةaria-label.٨. داخل "عنصر الفيديو"
video، يجب أن يتوفر لديك "عنصر مصدر"sourceيحتوي على السمةsrcالتي تشير إلى "ملف فيديو" (a video file) ، بالإضافة إلى السمةtype. يمكنك استخدام رابط الفيديو هذا إذا أردت:https://cdn.freecodecamp.org/curriculum/labs/what-is-the-map-method-and-how-does-it-work.mp4٩. أسفل "عنصر المصدر"
source، ينبغي أن تضع "عنصر المسار"trackمزوداً بالسمات التالية: السمةsrcالتي تشير إلى "ملف الترجمة" (a subtitles file) ، والسماتkindوsrclangوlabel. يمكنك استخدام "رابط ملف الترجمة" (subtitles URL) هذا إذا أردت:https://cdn.freecodecamp.org/curriculum/labs/what-is-the-map-method-and-how-does-it-work.vtt١٠. داخل عنصر "القسم"
sectionالثالث، يجب أن يكون لديك عنصرh2لعنوان القسم، مثل "النص" (Transcript) .١١. أسفل عنصر
h2، يجب أن تضع عنصرpيحتوي على "النص المفرّغ" (the transcript) للفيديو.
الحل The Solution
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>مشغل وسائط متعددة Multimedia Player</title>
</head>
<body>
<h1>مشغل وسائط متعددة</h1>
<section>
<h2>يُعرض الآن: الإبحار بعيداً</h2>
<audio controls aria-label="الإبحار بعيداً">
<source src="https://cdn.freecodecamp.org/curriculum/js-music-player/sailing-away.mp3" type="audio/mpeg">
</audio>
</section>
<section>
<h2>ما هي دالة map وكيف تعمل؟</h2>
<video controls width="600" aria-label="ما هي دالة map وكيف تعمل؟">
<source src="https://cdn.freecodecamp.org/curriculum/labs/what-is-the-map-method-and-how-does-it-work.mp4" type="video/mp4">
<track
src="https://cdn.freecodecamp.org/curriculum/labs/what-is-the-map-method-and-how-does-it-work.vtt"
kind="subtitles"
srclang="en"
label="What is a map method and how does it work?"
/>
</video>
</section>
<section>
<h2>النص</h2>
<p>
ما هي دالة map وكيف تعمل؟ تُعد map دالةً قويةً وشائعة الاستخدام في لغة JavaScript ، وهي مخصصة للتعامل مع المصفوفات. صُممت هذه الدالة لإنشاء مصفوفة جديدة من خلال تطبيق دالة محددة على كل عنصر من عناصر المصفوفة الأصلية، فهي لا تُعدّل المصفوفة الأصلية، بل تُعيد مصفوفة جديدة تحتوي على نتائج تطبيق تلك الدالة على كل عنصر.
</p>
</section>
</body>
</html>
التطبيق The Application
مشغل وسائط متعددة
يُعرض الآن: الإبحار بعيداً
ما هي دالة map وكيف تعمل؟
النص
ما هي دالة map وكيف تعمل؟ تُعد map دالةً قويةً وشائعة الاستخدام في لغة JavaScript ، وهي مخصصة للتعامل مع المصفوفات. صُممت هذه الدالة لإنشاء مصفوفة جديدة من خلال تطبيق دالة محددة على كل عنصر من عناصر المصفوفة الأصلية، فهي لا تُعدّل المصفوفة الأصلية، بل تُعيد مصفوفة جديدة تحتوي على نتائج تطبيق تلك الدالة على كل عنصر.