عنصر 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- عنصر audio وsrc وcontrols وloop وautoplay
- عنصر video ونسبة العرض إلى الارتفاع
- عنصر source للتنسيقات المتعددة
- الترجمة باستخدام track وWebVTT