١٣. بناء مشغل فيديو باستخدام اتش.تي.ام.ال
ورشة عملفي هذه الورشة، ستقوم ببناء مشغل فيديو باستخدام HTML. وقد تم توفير الهيكل الأساسي (boilerplate) لملف اتش.تي.ام.ال لك.
الهيكل الأساسي Boilerplate
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>العمل مع عنصر الفيديو في اتش.تي.ام.ال</title>
</head>
<body>
</body>
</html>
الخطوات
الخطوة ١:
-
أنشئ عنصراً من النوع
h1واجعل النص بداخلهالتعامل مع عنصر الفيديو في اتش.تي.ام.ال.
الخطوة ٢:
-
بعد ذلك، أنشئ عنصر فيديو
videoأسفل وسمh1. وفي الخطوات القليلة التالية، ستضيف السمات اللازمة لجعل مشغل الفيديو يعمل.
الخطوة ٣:
-
في درس سابق، تعرفت على الخصائص المختلفة المتاحة لعنصر الفيديو
video. وتُحدِّد الخاصيةwidthعرض الفيديو بـ"البكسل" (pixels) . -
أضف السمة
widthإلى عنصر الفيديوvideoبقيمة"640".
الخطوة ٤:
-
تؤدي السمة
loopإلى إعادة تشغيل الفيديو بمجرد اكتمال العرض، تخيّل مقطع "ميمي" (meme) على الإنترنت يتكرر تشغيله. أما عدم استخدام هذه السمةloop، فسيجعل الفيديو يُعرض مرة واحدة فقط. -
السمة
loopهي سمة منطقية (boolean) ولا تتطلب قيمة. -
أضف السمة
loopإلى عنصر الفيديوvideo.
الخطوة ٥:
-
توفر السمة
controlsعناصر تحكم في التشغيل لعنصر الفيديوvideo، بما في ذلك إيقاف التشغيل مؤقتاً واستئنافه، والتنقل داخل المقطع (التقديم والتأخير)، والتحكم في مستوى الصوت. -
تُعد السمة
controlsسمة منطقية (boolean) ولا تتطلب قيمة. -
أضف السمة
controlsإلى عنصر الفيديوvideo. -
الآن، ينبغي أن ترى عنصر الفيديو
videoمعروضاً على الصفحة.
الخطوة ٦:
-
تؤدي سمة
mutedإلى كتم الصوت عند بدء التشغيل، فإذا كانت عناصر التحكمcontrolsمُفعَّلة، سيتمكن المستخدم من إلغاء كتم الصوت. أما في حال عدم استخدام هذه السمةmuted، فسيتم تشغيل الصوت عند البدء. -
تُعد السمة
mutedسمة منطقية (boolean) ولا تتطلب قيمة. -
أضف السمة
mutedإلى عنصر الفيديوvideo.
الخطوة ٧:
-
تُشير السمة
posterإلى صورة مصغرة للفيديو، فكّر في مقاطع الفيديو التي تشاهدها على "يوتيوب" (YouTube) . تظهر هذه الصورة أثناء تحميل الفيديو، أما في حال عدم تحديد هذه السمةposter، فيتم عرض الإطار الأول من الفيديو خلال مرحلة التحميل. -
الآن، أضف السمة
posterبالقيمةhttps://cdn.freecodecamp.org/curriculum/labs/past-event2.jpgإلى عنصر الفيديوvideoالخاص بك.
الخطوة ٨ :
-
ربما لاحظت أنك لم تدرج "رابطاً" (link) للفيديو الفعلي، وستقوم بذلك في المرحلة التالية. وفيما يتعلق بأنواع ملفات الفيديو، هناك تفاوت في مستوى دعم المتصفحات لها. وللتعامل مع هذا الأمر، يمكنك استخدام عناصر المصدر
sourceداخل عنصر الفيديوvideo، حيث سيقوم المتصفح باختيار المصدر الأول المتوافق. -
إليك مثال على عنصر المصدر
source:<video controls width="250"> <source src="ضع—رابط—المصدر—هنا" type="ضع—نوع—الفيديو—هنا" /> </video> -
عنصر المصدر
sourceهو "عنصر فارغ" (a void element) ، لذا فهو لا يحتوي على "وسم إغلاق" (a closing tag) . -
أضف عنصر مصدر
sourceداخل عنصر الفيديوvideoالخاص بك.
الخطوة ٩ :
-
لتحديد "مورد الوسائط" (the media resource) الخاص بالفيديو، ستحتاج إلى إضافة السمة
srcإلى العنصرsource. -
أضف السمة
srcبالقيمةhttps://cdn.freecodecamp.org/curriculum/labs/what-is-the-map-method-and-how-does-it-work.mp4.
الخطوة ١٠ :
-
لقد استخدمت ملف فيديو بامتداد MP4 ، وعليك إخبار المتصفح بذلك حتى يعرف كيفية قراءة الملف.
-
ستستخدم السمة
typeلتحديد نوع (MIME) الخاص بـvideo/mp4. -
يُعد MIME "امتدادات بريد الإنترنت متعددة الأغراض" (Multipurpose Internet Mail Extensions) معياراً لوصف المستندات بأشكال أخرى بخلاف نصوص ASCII ، مثل الصوت والفيديو والصور.
-
يُعد تنسيق MP4 — المعروف رسمياً باسم (MPEG-4 Part 14) تنسيق حاوية رقمياً للوسائط المتعددة. وهو يُستخدم على نطاق واسع لتخزين مقاطع الفيديو والصوت، ولكنه يمكن أن يتضمن أيضاً أنواعاً أخرى من البيانات مثل الترجمة والصور الثابتة. وقد صُممت ملفات MP4 لتلائم البث عبر الإنترنت، كما أنها تتوافق مع العديد من الأجهزة والمنصات.
-
الآن، أضف السمة
typeوالقيمة"video/mp4".
الخطوة ١١ :
-
من أنواع MIME الشائعة الأخرى النوع
video/webm. -
يُعد WebM تنسيقاً مفتوح المصدر لملفات الوسائط السمعية والبصرية طوّرته شركة Google، وصُمم في المقام الأول ليتناسب مع محتوى الوسائط المخصص للويب. وهو يدعم برمجيات ترميز الفيديو مثل VP8 وVP9 وAV1، وبرمجيات ترميز الصوت مثل Vorbis وOpus، مما يجعله خياراً شائعاً لعناصر الفيديو والصوت في تقنية HTML5.
-
أسفل عنصر المصدر الأول
source، أضف عنصر مصدرsourceآخر وامنحه السمةsrcبالقيمةhttps://cdn.freecodecamp.org/curriculum/labs/mapmethod.webmوالسمةtypeبالقيمة"video/webm".
الخطوة ١٢ :
-
من أنواع MIME الشائعة الأخرى النوع
video/ogg. -
يُعد Ogg تنسيق حاوية للوسائط المتعددة الرقمية، صُمم ليتيح البث والمعالجة الفعّالين للوسائط المتعددة الرقمية. وهو تنسيق مجاني ومفتوح وغير مقيد ببراءات اختراع برمجية، وتتولى مؤسسة Xiph.Org صيانته؛ أما اسمه فمُشتق من مصطلح "ogging" المستخدم في لعبة الحاسوب Netrek.
-
أسفل عنصر المصدر الثاني
source، أضف عنصر مصدر ثالثاًsourceوامنحه السمةsrcبالقيمةhttps://cdn.freecodecamp.org/curriculum/labs/mapmethod.oggوالسمةtypeبالقيمة"video/ogg".
الخطوة ١٣ :
-
سيكون عنصر المصدر الأخير
sourceالذي ستضيفه مخصصاً لنوع MIME الخاص بـvideo/quicktime. -
يُعد QuickTime بنيةً برمجيةً قابلة للتوسع للوسائط المتعددة طورتها شركة Apple، وهي تدعم تشغيل وبث وترميز وإعادة ترميز مجموعة متنوعة من تنسيقات الوسائط الرقمية. ورغم أنه ليس بشيوع تنسيق MP4، فقد تحتاج إليه لدعم التطبيقات القديمة.
-
أسفل عنصر المصدر الثالث
source، أضف عنصر مصدر رابعاًsourceوامنحه السمةsrcبالقيمةhttps://cdn.freecodecamp.org/curriculum/labs/mapmethod.movوالسمةtypeبالقيمة"video/quicktime".
تهانينا! لقد أتممت ورشة عمل مشغل الفيديو باستخدام اتش.تي.ام.ال .
الحل
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>العمل مع عنصر الفيديو في اتش.تي.ام.ال</title>
</head>
<body>
<h1>التعامل مع عنصر الفيديو في اتش.تي.ام.ال</h1>
<video
width="640"
loop
controls
muted
poster="https://cdn.freecodecamp.org/curriculum/labs/past-event2.jpg"
>
<source
src="https://cdn.freecodecamp.org/curriculum/labs/what-is-the-map-method-and-how-does-it-work.mp4"
type="video/mp4" />
<source
src="https://cdn.freecodecamp.org/curriculum/labs/mapmethod.webm"
type="video/webm" />
<source
src="https://cdn.freecodecamp.org/curriculum/labs/mapmethod.ogg"
type="video/ogg" />
<source
src="https://cdn.freecodecamp.org/curriculum/labs/mapmethod.mov"
type="video/quicktime" />
</video>
</body>
</html>