คำบรรยายด้วย track และ WebVTT
เพิ่มคำบรรยายและคำบรรยายใต้ภาพให้วิดีโอด้วย track และไฟล์ .vtt
คำบรรยายด้วย track และ WebVTT เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
คำบรรยายและคำบรรยายแปล
การเข้าถึงวิดีโอต้องมีทางเลือกแบบข้อความสำหรับเนื้อหาเสียง:
- คำบรรยายแปล — ถอดบทสนทนา โดยสมมติว่าผู้ชมยังได้ยินเสียงต่าง ๆ
- คำบรรยาย — บทสนทนาพร้อมคำอธิบายเสียง สำหรับผู้ใช้ที่หูหนวก
- คำบรรยายเสียง — อธิบายเนื้อหาที่มองเห็นได้สำหรับผู้ใช้ตาบอด
องค์ประกอบแทร็ก
องค์ประกอบ <track> ใช้เชื่อมโยงไฟล์คำบรรยายหรือคำบรรยายแปลกับ video:
<video controls>
<source src="tutorial.mp4" type="video/mp4">
<track
src="tutorial-en.vtt"
kind="subtitles"
srclang="en"
label="English"
default
>
<track
src="tutorial-es.vtt"
kind="subtitles"
srclang="es"
label="Spanish"
>
</video>แอตทริบิวต์ของแทร็ก
แอตทริบิวต์ขององค์ประกอบแทร็ก:
src— เส้นทางไปยังไฟล์ VTTkind— ชนิดของแทร็ก ได้แก่ คำบรรยายแปล คำบรรยาย คำอธิบาย บท และเมทาดาทาsrclang— รหัสภาษาตาม BCP 47 (en, es, fr...)label— ชื่อที่อ่านเข้าใจได้สำหรับผู้ใช้ ซึ่งแสดงในเมนู CCdefault— ค่าบูลีน แทร็กนี้จะแสดงเป็นค่าเริ่มต้น
รูปแบบ WebVTT
WebVTT (แทร็กข้อความวิดีโอบนเว็บ) คือรูปแบบไฟล์คำบรรยาย:
WEBVTT
00:00:01.000 --> 00:00:04.000
Hello and welcome to the HTML5 tutorial.
00:00:04.500 --> 00:00:08.000
In this lesson, we'll cover the video element
and how to add subtitles.
00:00:09.000 --> 00:00:12.000
[Keyboard click sounds]
Let's look at a code example...ตัวระบุคิว VTT
คิว VTT สามารถมีตัวระบุเพิ่มเติมได้:
WEBVTT
intro-1
00:00:01.000 --> 00:00:04.000
Welcome to the tutorial.
intro-2
00:00:04.500 --> 00:00:08.000
We'll cover HTML5 video today.
00:00:09.000 --> 00:00:12.000
No identifier on this cue — that is fine.การตั้งค่าคิว VTT
คิว VTT รองรับการตั้งค่าตำแหน่ง:
WEBVTT
00:00:01.000 --> 00:00:04.000 position:10% align:left
This text is positioned at the left.
00:00:05.000 --> 00:00:08.000 line:10%
This text appears near the top.
00:00:09.000 --> 00:00:12.000 size:50% position:75%
A smaller caption on the right.การกำหนดรูปแบบคิว WebVTT ด้วย CSS
กำหนดรูปแบบกล่องคิวด้วยองค์ประกอบเสมือน ::cue:
/* Style all cues: */
::cue {
background-color: rgba(0, 0, 0, 0.8);
color: white;
font-size: 1.2rem;
font-family: 'Arial', sans-serif;
padding: 0.2em 0.5em;
border-radius: 4px;
}
/* Style specific voice tags: */
::cue(v[voice="Teacher"]) {
color: #60a5fa;
}ค่าของประเภทแทร็ก
แอตทริบิวต์ kind ระบุวัตถุประสงค์ของแทร็กข้อความ:
subtitles— การแปลหรือการถอดบทสนทนาcaptions— บทสนทนาพร้อมคำอธิบายเสียงสำหรับผู้ใช้ที่หูหนวกdescriptions— คำบรรยายเสียงของเนื้อหาที่มองเห็นได้สำหรับผู้ใช้ตาบอดchapters— ชื่อบทสำหรับการนำทางmetadata— ข้อมูลที่เครื่องอ่านได้สำหรับ JavaScript
แทร็กบท
ใช้แทร็กประเภทบทเพื่อการนำทางตามบทของวิดีโอ:
<track
kind="chapters"
src="chapters.vtt"
srclang="en"
label="Chapters"
>
<!-- chapters.vtt: -->
<!--
WEBVTT
00:00:00.000 --> 00:01:30.000
Introduction
00:01:30.000 --> 00:05:00.000
HTML Document Structure
00:05:00.000 --> 00:10:00.000
Forms and Input
-->ส่วนติดต่อ TextTrack ของ JavaScript
เข้าถึงข้อมูลแทร็กด้วยส่วนติดต่อ TextTrack:
const video = document.getElementById('tutorial');
const tracks = video.textTracks;
// Enable a track:
tracks[0].mode = 'showing'; // 'hidden', 'showing', or 'disabled'
// Listen for active cue changes:
tracks[0].addEventListener('cuechange', function() {
const cue = this.activeCues[0];
if (cue) console.log('Current cue:', cue.text);
});แทร็กเมทาดาทาสำหรับวิดีโอแบบโต้ตอบ
ใช้แทร็กเมทาดาทาเพื่อเรียกเหตุการณ์ JavaScript ในเวลาที่กำหนด:
<track kind="metadata" src="interactive.vtt" id="meta-track">
<script>
video.textTracks[0].mode = 'hidden';
video.textTracks[0].addEventListener('cuechange', function() {
const cue = this.activeCues[0];
if (cue) {
const data = JSON.parse(cue.text);
// Trigger quiz, show annotation, etc.
showAnnotation(data);
}
});
</script>ข้อกำหนดด้านการเข้าถึง
WCAG กำหนดให้วิดีโอที่บันทึกไว้ล่วงหน้าต้องมีคำบรรยาย:
- ระดับ A — คำบรรยายสำหรับ video ที่บันทึกไว้ล่วงหน้าทั้งหมดและมีเสียง
- ระดับ AA — คำบรรยายเสียงสำหรับ video ที่บันทึกไว้ล่วงหน้าทั้งหมด
- คำบรรยายที่สร้างอัตโนมัติ (YouTube) ยังไม่เพียงพอหากไม่มีการตรวจทาน
- คำบรรยายต้องถูกต้อง ตรงจังหวะ และครบถ้วน
ตรวจสอบความเข้าใจ
แทร็กประเภทคำบรรยายแปลแตกต่างจากแทร็กประเภทคำบรรยายอย่างไร
สรุปทบทวน: แทร็กและ WebVTT
สิ่งสำคัญของคำบรรยายแปลและคำบรรยาย:
<track src kind srclang label default>ภายใน video- ประเภท: subtitles, captions, descriptions, chapters, metadata
- รูปแบบไฟล์ WebVTT: WEBVTT + timestamp --> timestamp + text
- กำหนดรูปแบบคิวด้วยองค์ประกอบเสมือน CSS
::cue - WCAG กำหนดให้ video ที่บันทึกไว้ล่วงหน้าต้องมีคำบรรยาย
คำถามที่พบบ่อย
บทเรียน “คำบรรยายด้วย track และ WebVTT” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คำบรรยายด้วย track และ WebVTT” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “คำบรรยายด้วย track และ WebVTT”
เพิ่มคำบรรยายและคำบรรยายใต้ภาพให้วิดีโอด้วย track และไฟล์ .vtt คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “คำบรรยายด้วย track และ WebVTT” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม
ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- องค์ประกอบ audio: src controls loop autoplay
- องค์ประกอบ video และอัตราส่วนภาพ
- องค์ประกอบ source สำหรับหลายรูปแบบ
- คำบรรยายด้วย track และ WebVTT