playable
Version:
Video player based on HTML5Video
53 lines • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNearestBufferSegmentInfo = exports.geOverallBufferLength = exports.getOverallPlayedPercent = exports.getOverallBufferedPercent = exports.getTimePercent = void 0;
function getTimePercent(time, durationTime) {
if (!durationTime) {
return 0;
}
return parseFloat(((time / durationTime) * 100).toFixed(2));
}
exports.getTimePercent = getTimePercent;
function getOverallBufferedPercent(buffered, currentTime, duration) {
if (currentTime === void 0) { currentTime = 0; }
if (duration === void 0) { duration = 0; }
if (!buffered || !buffered.length || !duration) {
return 0;
}
var info = getNearestBufferSegmentInfo(buffered, currentTime);
return getTimePercent(info.end, duration);
}
exports.getOverallBufferedPercent = getOverallBufferedPercent;
function getOverallPlayedPercent(currentTime, duration) {
if (currentTime === void 0) { currentTime = 0; }
if (duration === void 0) { duration = 0; }
return getTimePercent(currentTime, duration);
}
exports.getOverallPlayedPercent = getOverallPlayedPercent;
function geOverallBufferLength(buffered) {
var size = 0;
if (!buffered || !buffered.length) {
return size;
}
for (var i = 0; i < buffered.length; i += 1) {
size += buffered.end(i) - buffered.start(i);
}
return size;
}
exports.geOverallBufferLength = geOverallBufferLength;
function getNearestBufferSegmentInfo(buffered, currentTime) {
var i = 0;
if (!buffered || !buffered.length) {
return null;
}
while (i < buffered.length - 1 &&
!(buffered.start(i) <= currentTime && currentTime <= buffered.end(i))) {
i += 1;
}
return {
start: buffered.start(i),
end: buffered.end(i),
};
}
exports.getNearestBufferSegmentInfo = getNearestBufferSegmentInfo;
//# sourceMappingURL=video-data.js.map