บทนำ
หมายเหตุ: การเล่นเสียงอัตโนมัติ (Autoplay) ในเบราว์เซอร์สมัยใหม่ ถูกบล็อก หากมีเสียง ต้องใช้ muted หรือโต้ตอบผู้ใช้ก่อน
วิธีเดิม (Deprecated - ใช้ <embed>)
<!DOCTYPE html>
<html>
<head>
<title>HTML Background Music (Old Method)</title>
</head>
<body>
<p>เพลงเล่นในพื้นหลัง...</p>
<embed src="/audio/Kalimba.mp3" loop="true" autostart="true" width="2" height="0">
</body>
</html>
วิธีสมัยใหม่ (แนะนำ - ใช้ <audio>)
<audio autoplay loop muted> <source src="/audio/background.mp3" type="audio/mpeg"> <source src="/audio/background.ogg" type="audio/ogg"> </audio>
Autoplay Policy (Chrome/Edge/Safari/Firefox)
| เงื่อนไข | Autoplay ด้วยเสียง | Autoplay ไม่มีเสียง (muted) |
|---|---|---|
| ไม่เคยโต้ตอบ | ❌ บล็อก | ✅ อนุญาต |
| เคยโต้ตอบ (Click, Tap, Keydown) | ✅ อนุญาต | ✅ อนุญาต |
| เพิ่มใน Home Screen (PWA) | ✅ อนุญาต | ✅ อนุญาต |
Best Practice
- ใช้
muted autoplay loopสำหรับ Background Music - เพิ่มปุ่ม Unmute ให้ผู้ใช้เลือกเปิดเสียง
- ไม่บังคับเล่นเสียงทันที (UX แย่)
ตัวอย่าง Background Music พร้อมปุ่ม Unmute
<audio id="bgm" src="music.mp3" autoplay loop muted></audio>
<button onclick="document.getElementById('bgm').muted=false">🔊 เปิดเสียง</button>