0Pricing
HTML Academy · درس

عنصر audio وsrc وcontrols وloop وautoplay

تضمين مشغلات الصوت باستخدام سمات HTML5 الأصلية

عنصر audio وsrc وcontrols وloop وautoplay درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.

الصوت الأصلي في HTML5

قدّم HTML5 العنصر <audio> لتضمين الصوت من دون إضافات:

<audio src="podcast.mp3" controls>
  Your browser does not support audio.
</audio>
<!-- controls: show the default player UI (play, pause, volume) -->
<!-- Fallback text is shown to browsers that don't support audio -->

السمة controls

تعرض السمة controls مشغل الصوت المدمج في المتصفح:

<!-- Without controls: audio plays but no UI is visible -->
<audio src="bg-music.mp3"></audio>

<!-- With controls: browser shows play/pause, volume, scrubber -->
<audio src="podcast.mp3" controls></audio>

<!-- Always include controls for user-accessible audio
     Unless it is a background ambient sound (use controls anyway for accessibility) -->

السمة loop

تعيد السمة loop تشغيل الصوت عند انتهائه:

<audio src="bg-music.ogg" controls loop></audio>
<!-- loop is a boolean attribute -->
<!-- Good for: background music, demo soundscapes -->
<!-- Bad UX: loops without user consent are annoying -->

السمة autoplay

تبدأ السمة autoplay التشغيل عند تحميل الصفحة:

<audio src="alert.mp3" autoplay></audio>
<!-- Most modern browsers BLOCK autoplay for audio by default -->
<!-- Exception: autoplay + muted is allowed -->
<!-- Browsers allow autoplay if the user has interacted with the page -->

<!-- The muted workaround: -->
<audio src="bg.mp3" autoplay muted loop></audio>

السمة muted

تبدأ السمة muted تشغيل الصوت مع كتمه:

<!-- Muted audio can autoplay in most browsers: -->
<audio src="ambient.mp3" autoplay muted loop></audio>

<!-- User can unmute with the controls -->
<audio src="ambient.mp3" autoplay muted loop controls></audio>

السمة preload

تعطي السمة preload تلميحًا حول كمية البيانات التي ينبغي تحميلها:

<audio src="podcast.mp3" controls preload="none">...</audio>
<!-- none: don't preload anything (saves bandwidth on mobile) -->

<audio src="short-clip.mp3" controls preload="auto">...</audio>
<!-- auto: preload the entire file (browser decides) -->

<audio src="song.mp3" controls preload="metadata">...</audio>
<!-- metadata: preload only duration and basic info (good default) -->

التحكم في الصوت باستخدام JavaScript

تحكم في الصوت باستخدام JavaScript:

const audio = document.getElementById('my-audio');

// Play:
audio.play();

// Pause:
audio.pause();

// Current time (seconds):
audio.currentTime = 30;  // jump to 30 seconds

// Volume (0 to 1):
audio.volume = 0.5;

// Duration:
console.log(audio.duration);

أحداث الصوت

أحداث الصوت الشائعة:

audio.addEventListener('play', () => console.log('Playing'));
audio.addEventListener('pause', () => console.log('Paused'));
audio.addEventListener('ended', () => console.log('Finished'));
audio.addEventListener('timeupdate', () => {
  console.log('Position:', audio.currentTime);
});
audio.addEventListener('error', () => console.log('Error loading audio'));

مشغل صوت مخصص

أنشئ مشغلًا مخصصًا باستخدام JavaScript وCSS:

<div class="audio-player">
  <audio id="player" src="podcast.mp3" preload="metadata"></audio>
  <button id="play-btn" aria-label="Play">▶</button>
  <input type="range" id="scrubber" value="0" min="0" max="100">
  <span id="time">0:00</span>
</div>
<script>
const audio = document.getElementById('player');
document.getElementById('play-btn').addEventListener('click', () => {
  audio.paused ? audio.play() : audio.pause();
});
</script>

إتاحة الوصول إلى الصوت

متطلبات إتاحة الوصول إلى الصوت:

  • وفّر نصًا مفرغًا لجميع المحتويات الصوتية
  • بالنسبة إلى البودكاست: أضف رابطًا إلى النص المفرغ
  • ينتهك الصوت الذي يبدأ تشغيله تلقائيًا WCAG 1.4.2 إذا استمر أكثر من 3 ثوانٍ
  • تأكد من إمكانية الوصول إلى عناصر التحكم باستخدام لوحة المفاتيح (فالعناصر الأصلية تدعم ذلك)

عنصر src مقابل source

حدد بدائل التنسيق باستخدام <source> (في الدرس التالي):

<!-- Single format: -->
<audio controls src="podcast.mp3">...</audio>

<!-- Multiple formats: -->
<audio controls>
  <source src="podcast.opus" type="audio/ogg; codecs=opus">
  <source src="podcast.mp3" type="audio/mpeg">
  Your browser does not support audio.
</audio>

تحقق سريع

ما سمة الصوت التي تعرض واجهة المشغل المدمج في المتصفح؟

مراجعة: عنصر audio

أساسيات عنصر audio:

  • controls — إظهار واجهة المشغل (أدرجها دائمًا تقريبًا)
  • loop — إعادة التشغيل عند الانتهاء
  • autoplay — التشغيل عند التحميل (تحظره معظم المتصفحات)
  • muted — بدء التشغيل مع كتم الصوت (يتيح التشغيل التلقائي في معظم المتصفحات)
  • preload="metadata" — قيمة افتراضية مناسبة للبودكاست والموسيقى
  • وفّر نصوصًا مفرغة لإتاحة الوصول

الأسئلة الشائعة

هل درس «عنصر audio وsrc وcontrols وloop وautoplay» مجاني؟

نعم — نص درس «عنصر audio وsrc وcontrols وloop وautoplay» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.

ماذا ستتعلم في «عنصر audio وsrc وcontrols وloop وautoplay»؟

تضمين مشغلات الصوت باستخدام سمات HTML5 الأصلية تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟

لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «عنصر audio وsrc وcontrols وloop وautoplay»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟

نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عنصر audio وsrc وcontrols وloop وautoplay
  2. عنصر video ونسبة العرض إلى الارتفاع
  3. عنصر source للتنسيقات المتعددة
  4. الترجمة باستخدام track وWebVTT
← العودة إلى HTML Academy