องค์ประกอบ source สำหรับหลายรูปแบบ
จัดเตรียมรูปแบบสำรองด้วยองค์ประกอบ source
องค์ประกอบ source สำหรับหลายรูปแบบ เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงต้องมีหลายรูปแบบ
เบราว์เซอร์ต่างกันรองรับตัวเข้ารหัสเสียงและวิดีโอแตกต่างกัน:
- WebM (VP9/VP8) — Chrome, Firefox, Edge (ไม่ใช่ Safari)
- MP4 (H.264) — เบราว์เซอร์ทั้งหมด (รองรับทั่วไป)
- OGG — Firefox, Chrome (ไม่ใช่ Safari)
- OPUS — Chrome, Firefox, Edge (ไม่ใช่ Safari)
องค์ประกอบ <source> ช่วยให้คุณระบุรูปแบบหลายแบบเพื่อใช้เป็นเนื้อหาสำรองได้
องค์ประกอบแหล่งที่มาภายในเสียง
ระบุรูปแบบเสียงหลายแบบ:
<audio controls>
<!-- Browser picks the first format it supports: -->
<source src="podcast.opus" type="audio/ogg; codecs=opus">
<source src="podcast.ogg" type="audio/ogg; codecs=vorbis">
<source src="podcast.mp3" type="audio/mpeg">
<!-- Fallback text if none supported: -->
<p>Download: <a href="podcast.mp3">podcast.mp3</a></p>
</audio>องค์ประกอบแหล่งที่มาภายใน video
ระบุรูปแบบวิดีโอหลายแบบ:
<video controls width="1280" height="720" poster="thumbnail.jpg">
<source src="tutorial.webm" type="video/webm">
<source src="tutorial.mp4" type="video/mp4">
<p>Your browser doesn't support HTML5 video.
<a href="tutorial.mp4">Download the video</a></p>
</video>แอตทริบิวต์ประเภทขององค์ประกอบแหล่งที่มา
แอตทริบิวต์ type แจ้งเบราว์เซอร์เกี่ยวกับชนิด MIME และตัวเข้ารหัส:
<!-- Full MIME type with codec parameter: -->
<source src="video.webm" type="video/webm; codecs=vp9,vorbis">
<source src="video.mp4" type="video/mp4; codecs=avc1.42E01E,mp4a.40.2">
<source src="audio.ogg" type="audio/ogg; codecs=vorbis">
<!-- Simplified (browser may need to probe): -->
<source src="video.webm" type="video/webm">
<source src="video.mp4" type="video/mp4">การทำงานของการเลือกแหล่งที่มา
เบราว์เซอร์จะประเมินองค์ประกอบแหล่งที่มาตามลำดับ:
- อ่านค่า
typeของแหล่งที่มาแรก - หากสามารถเล่นชนิดนั้นได้ จะดาวน์โหลดและใช้แหล่งที่มานั้น
- หากเล่นไม่ได้ จะเลื่อนไปยังแหล่งที่มาถัดไป
- หากไม่มีแหล่งที่มาใดใช้งานได้ จะแสดงเนื้อหาสำรอง
วางรูปแบบที่ต้องการมากที่สุดไว้ก่อน เช่น WebM เพื่อประสิทธิภาพบน Chrome/Firefox
แอตทริบิวต์สื่อขององค์ประกอบแหล่งที่มา
แอตทริบิวต์ media ช่วยให้คุณนำเสนอรูปแบบต่างกันสำหรับพื้นที่แสดงผลที่ต่างกัน:
<video controls>
<!-- Mobile: smaller file -->
<source
src="video-480.mp4"
type="video/mp4"
media="(max-width: 768px)"
>
<!-- Desktop: full quality -->
<source
src="video-1080.mp4"
type="video/mp4"
>
</video>ลำดับรูปแบบที่แนะนำ
ลำดับแหล่งที่มาที่เหมาะสมที่สุดเพื่อความเข้ากันได้และประสิทธิภาพสูงสุด:
<video controls>
<!-- AV1 in WebM: best compression, modern browsers -->
<source src="video.av1.mp4" type="video/mp4; codecs=av01">
<!-- VP9 in WebM: Chrome/Firefox/Edge -->
<source src="video.webm" type="video/webm">
<!-- H.264 in MP4: universal fallback -->
<source src="video.mp4" type="video/mp4">
</video>คำแนะนำเกี่ยวกับรูปแบบเสียง
คำแนะนำเกี่ยวกับตัวเข้ารหัสเสียง:
- OPUS ใน WebM — อัตราส่วนคุณภาพต่อขนาดดีที่สุด ใช้ได้กับ Chrome, Firefox, Edge
- AAC ใน MP4 — รองรับทั่วไป ใช้ได้กับ Safari, Chrome, Firefox, Edge
- MP3 — เข้ากันได้กว้างที่สุด ใช้เป็นเนื้อหาสำรองลำดับสุดท้าย
วิดีโอแบบตอบสนองด้วย srcset
สำหรับวิดีโอ ให้ใช้ media กับแหล่งที่มาเพื่อปรับตามแบนด์วิดท์:
<video controls poster="thumbnail.jpg">
<source
src="video-720.webm"
type="video/webm"
media="(min-width: 1024px)"
>
<source
src="video-360.webm"
type="video/webm"
>
<source src="video-720.mp4" type="video/mp4" media="(min-width: 1024px)">
<source src="video-360.mp4" type="video/mp4">
</video>การตรวจสอบ canPlayType
ทดสอบการรองรับตัวเข้ารหัสของเบราว์เซอร์ด้วย JavaScript:
const video = document.createElement('video');
console.log(video.canPlayType('video/webm; codecs=vp9'));
// '' = no, 'maybe' = possibly, 'probably' = likely yes
console.log(video.canPlayType('video/mp4; codecs=avc1.42E01E'));
// 'probably' on most modern browsersเนื้อหาสำรอง
ควรใส่เนื้อหาสำรองไว้ภายในองค์ประกอบเสียงและ video เสมอ:
<video controls width="800" height="450">
<source src="demo.webm" type="video/webm">
<source src="demo.mp4" type="video/mp4">
<!-- Fallback for browsers without video support: -->
<p>
Your browser does not support HTML5 video.
<a href="demo.mp4">Download the video</a> instead.
</p>
</video>ตรวจสอบความเข้าใจ
ควรแสดงรายการองค์ประกอบแหล่งที่มาตามลำดับใด
สรุปทบทวน: องค์ประกอบแหล่งที่มา
สิ่งสำคัญขององค์ประกอบแหล่งที่มา:
<source src type>ภายในองค์ประกอบเสียงหรือ video ใช้ระบุทางเลือกของรูปแบบ- เบราว์เซอร์เลือกแหล่งที่มาแรกที่ตรงกัน
- วางรูปแบบสมัยใหม่ที่สุดไว้ก่อน โดยใช้ MP4/AAC เป็นเนื้อหาสำรองที่รองรับทั่วไป
- ใส่ข้อความหรือลิงก์สำรองภายในองค์ประกอบเสียงหรือ video หลังแหล่งที่มาทั้งหมด
- ใช้
mediaกับแหล่งที่มาเพื่อเลือกวิดีโอตามพื้นที่แสดงผล
คำถามที่พบบ่อย
บทเรียน “องค์ประกอบ source สำหรับหลายรูปแบบ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “องค์ประกอบ source สำหรับหลายรูปแบบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “องค์ประกอบ source สำหรับหลายรูปแบบ”
จัดเตรียมรูปแบบสำรองด้วยองค์ประกอบ source คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “องค์ประกอบ source สำหรับหลายรูปแบบ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม
ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- องค์ประกอบ audio: src controls loop autoplay
- องค์ประกอบ video และอัตราส่วนภาพ
- องค์ประกอบ source สำหรับหลายรูปแบบ
- คำบรรยายด้วย track และ WebVTT