1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-23 20:00:27 +08:00
course-tencent-cloud/public/static/home/js/chapter.live.player.js
2020-09-17 21:29:29 +08:00

80 lines
2.1 KiB
JavaScript

layui.use(['jquery', 'helper'], function () {
var $ = layui.jquery;
var helper = layui.helper;
var interval = null;
var intervalTime = 15000;
var userId = window.user.id;
var chapterId = $('input[name="chapter.id"]').val();
var planId = $('input[name="chapter.plan_id"]').val();
var learningUrl = $('input[name="chapter.learning_url"]').val();
var playUrls = JSON.parse($('input[name="chapter.play_urls"]').val());
var requestId = helper.getRequestId();
var options = {
live: true,
autoplay: true,
h5_flv: true,
width: 760,
height: 428
};
var formats = ['rtmp', 'flv', 'm3u8'];
var rates = ['od', 'hd', 'sd'];
$.each(formats, function (i, format) {
$.each(rates, function (k, rate) {
if (playUrls.hasOwnProperty(format) && playUrls[format].hasOwnProperty(rate)) {
var key = k === 0 ? format : format + '_' + rate;
options[key] = playUrls[format][rate];
}
});
});
console.log(options);
options.listener = function (msg) {
if (msg.type === 'play') {
start();
} else if (msg.type === 'pause') {
stop();
} else if (msg.type === 'end') {
stop();
}
};
var player = new TcPlayer('player', options);
function start() {
if (interval != null) {
clearInterval(interval);
interval = null;
}
interval = setInterval(learning, intervalTime);
}
function stop() {
if (interval != null) {
clearInterval(interval);
interval = null;
}
}
function learning() {
if (userId !== '0' && planId !== '0') {
$.ajax({
type: 'POST',
url: learningUrl,
data: {
plan_id: planId,
chapter_id: chapterId,
request_id: requestId,
interval: intervalTime,
position: player.currentTime(),
}
});
}
}
});