Skip to content

Commit

Permalink
Merge pull request #165 from hyperaudio/163-update-captionjs
Browse files Browse the repository at this point in the history
updated version of caption.js
  • Loading branch information
maboa authored Oct 20, 2023
2 parents 0c33f45 + 2f4babe commit 4f5ef23
Showing 1 changed file with 25 additions and 9 deletions.
34 changes: 25 additions & 9 deletions js/caption.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*! (C) The Hyperaudio Project. MIT @license: en.wikipedia.org/wiki/MIT_License. */
/*! Version 2.1.1 (patch) */
/*! Version 2.1.3 patch*/
'use strict';

var caption = function () {
Expand All @@ -20,7 +20,7 @@ var caption = function () {
return timecode.substring(0,8) + "," + timecode.substring(9,12);
}

cap.init = function (transcriptId, playerId, maxLength, minLength) {
cap.init = function (transcriptId, playerId, maxLength, minLength, label, srclang) {
var transcript = document.getElementById(transcriptId);
var words = transcript.querySelectorAll('[data-m]');
var data = {};
Expand Down Expand Up @@ -303,20 +303,35 @@ var caption = function () {
var video = document.getElementById(playerId);

if (video !== null) {
video.addEventListener("loadedmetadata", function() {
video.addEventListener("loadedmetadata", function listener() {
//var track = document.createElement("track");
var track = document.getElementById(playerId+'-vtt');
track.kind = "captions";
track.label = "English";
track.srclang = "en";

console.log("label = "+label);

if (label !== undefined) {
console.log("setting label as "+label);
track.label = label;
}

if (srclang !== undefined) {
console.log("setting srclang as "+srclang);
track.srclang = srclang;
}
//track.label = "English";
//track.srclang = "en";
track.src = "data:text/vtt,"+encodeURIComponent(captionsVtt);
video.textTracks[0].mode = "showing";
});
video.removeEventListener("loadedmetadata", listener, true);
}, true);

video.textTracks[0].mode = "showing";
if (video.textTracks !== undefined) {
video.textTracks[0].mode = "showing";
}
}

function captionsObj(vtt, srt) {
function captionsObj(vtt, srt, data) {
// clean up – remove any double blank lines
// and blank line at the start of srt

Expand All @@ -326,9 +341,10 @@ var caption = function () {

this.vtt = vtt.replaceAll("\n\n\n","\n\n");
this.srt = srt.replaceAll("\n\n\n","\n\n");
this.data = captions;
}

return new captionsObj(captionsVtt, captionsSrt);
return new captionsObj(captionsVtt, captionsSrt, captions);
};

return cap;
Expand Down

0 comments on commit 4f5ef23

Please sign in to comment.