mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-23 20:00:27 +08:00
80 lines
2.1 KiB
JavaScript
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(),
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
}); |