मैं मुसीबत एक काम उदाहरण है कि एक WebVTT फ़ाइल है, जो एक एचटीएमएल 5 पेज में एक <video>
की <track>
तत्व द्वारा निर्दिष्ट किया गया था से मेटाडाटा पढ़ता हो रही हो रहा है का उपयोग कर। स्पष्ट होने के लिए, मैं वीडियो फ़ाइल से मेटाडेटा को पढ़ने के बारे में बात नहीं कर रहा हूं (जैसा कि आप उदाहरण के लिए एमपीईजी ट्रांसपोर्ट स्ट्रीम के साथ करेंगे)। मैं किस बारे में बात कर रहा हूं <track>
तत्व है जिसका उपयोग कैप्शनिंग वीडियो के लिए किया जाता है।पढ़ना मेटाडाटा Captionator
- उपशीर्षक
- विवरण
- कैप्शन
- नेविगेशन
- अध्याय
- मेटाडाटा : एक
<track>
की विशेषताओं में से एक
kind
है, जो निम्न मानों के रूप में निर्दिष्ट किया जा सकता है
मैं कोशिश कर रहा हूँ जी मेटाडाटा का उपयोग करने के लिए संबंधित वेबवीटीटी फ़ाइल में संग्रहीत पाठ तक पहुंचने के लिए टाइप करें, जिसे मैं जावास्क्रिप्ट का उपयोग करके हेरफेर करना चाहता हूं। मुझे पता है कि यह संभव है, क्योंकि यह mentioned by Silvia Pfeiffer के साथ-साथ by the maker of Captionator है, जो जावास्क्रिप्ट पॉलीफिल है जिसका उपयोग मैं <track>
टैग की व्याख्या करने की कार्यक्षमता को लागू करने के लिए कर रहा हूं। हालांकि, मैं इसे काम करने के लिए नहीं मिल सकता है।
मेरा कोड Captionator प्रलेखन के कैप्शन उदाहरण पर आधारित है। मैंने मेटाडेटा पुनर्प्राप्त करने के लिए एक बटन जोड़ा और जब मैं बटन क्लिक करता हूं तो इसे प्रदर्शित करता हूं। दुर्भाग्य से यह मेटाडेटा के बजाय "अपरिभाषित" प्रदर्शित करता रहता है। कोई विचार क्या मैं गलत तरीके से कर सकता हूं? वैकल्पिक रूप से, क्या किसी को पता है कि एक कामकाजी उदाहरण कहां है कि मैं देख सकता हूं? मुझे कहीं भी नहीं मिल रहा है।
तुम मेरे कोड पर एक नज़र लेने के लिए परवाह है, तो मैं इसे नीचे दिये है:
<!DOCTYPE html>
<html>
<head>
<title>HTML5 Video Closed Captioning Example</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" media="screen" href="js/Captionator-v0.5-12/css/captions.css"/>
</head>
<body>
<h1>HTML5 Video Closed Captioning Example</h1>
<div>
<p id="metadataText">Metadata text should appear here</p>
<input type='button' onclick='changeText()' value='Click here to display the metadata text'/>
</div>
<video controls autobuffer id="videoTest" width="1010" height="464">
<source src="http://localhost:8080/Videos/testVideo.webm" type="video/webm" />
<source src="http://localhost:8080/Videos/testVideo.mp4" type="video/mp4" />
<!-- WebVTT Track Metadata Example -->
<track label="Metadata Track" kind="metadata" src="http://localhost:8080/Videos/Timed_Text_Tracks/testVideo_metadata.vtt" type="text/webvtt" srclang="en" />
</video>
<!-- Include Captionator -->
<script type="text/javascript" src="js/Captionator-v0.5-12/js/captionator.js"></script>
<!-- Example Usage -->
<script type="text/javascript" src="js/Captionator-v0.5-12/js/captionator-example-api.js"></script>
<script type="text/javascript">
window.addEventListener("load",function() {
captionator.captionify(null,null,{
debugMode: !!window.location.search.match(/debug/i),
sizeCuesByTextBoundingBox: !!window.location.search.match(/boundingBox/i),
enableHighResolution: !!window.location.search.match(/highres/i),
});
var videoObject = document.getElementsByTagName("video")[0];
videoObject.volume = 0;
document.body.appendChild(generateMediaControls(videoObject));
},false);
function changeText() {
document.getElementById('metadataText').innerHTML = testVar;
var cueText = document.getElementById("video").tracks[0].activeCues[0].getCueAsSource();
document.getElementById('metadataText').innerHTML = cueText;
}
</script>
</body>
</html>
मेरे WebVTT फ़ाइल इस तरह दिखता है:
WEBVTT
0
00:00.000 --> 00:04.000
Testing 1 2 3 . . .
अरे - मैं कैप्शनेटर का डेवलपर हूं, और पहली नज़र में आप जो कर रहे हैं वह सही लगता है। मैं इस संभावना को देख रहा हूं कि आपको एक बग मिल सकती है - और मुझे जो मिल रहा है उसके साथ मैं एक उत्तर पोस्ट करूंगा। :) – Christopher