1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-22 11:41:27 +08:00
course-tencent-cloud/public/static/home/js/chapter.live.player.js
2023-12-04 19:46:54 +08:00

99 lines
2.3 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 requestId = helper.getRequestId();
var planId = $('input[name="chapter.me.plan_id"]').val();
var learningUrl = $('input[name="chapter.learning_url"]').val();
var playUrls = JSON.parse($('input[name="chapter.play_urls"]').val());
var formats = ['flv'];
var rates = [
{name: 'od', label: '原画'},
{name: 'hd', label: '高清'},
{name: 'sd', label: '标清'},
{name: 'fd', label: '极速'},
];
var quality = [];
$.each(formats, function (i, format) {
$.each(rates, function (k, rate) {
if (playUrls.hasOwnProperty(format) && playUrls[format].hasOwnProperty(rate.name)) {
quality.push({
name: rate.label,
url: playUrls[format][rate.name],
type: 'flv',
});
}
});
});
var player = new DPlayer({
container: document.getElementById('player'),
live: true,
video: {
quality: quality,
defaultQuality: 0,
}
});
player.on('play', function () {
start();
});
player.on('pause', function () {
stop();
});
player.on('ended', function () {
stop();
});
/**
* 播放器中央播放按钮
*/
var $playMask = $('#play-mask');
$playMask.on('click', function () {
$(this).hide();
player.toggle();
});
function start() {
$playMask.hide();
if (interval != null) {
clearInterval(interval);
interval = null;
}
interval = setInterval(learning, intervalTime);
}
function stop() {
$playMask.show();
if (interval != null) {
clearInterval(interval);
interval = null;
}
}
function learning() {
if (userId !== '0' && planId !== '0') {
$.ajax({
type: 'POST',
url: learningUrl,
data: {
plan_id: planId,
request_id: requestId,
interval_time: intervalTime,
}
});
}
}
});