;!(function () {
|
|
let _content = $("<div class=\"content\">\n" +
|
" <div class=\"player\" onmouseover=\"$('.player .control').css('display', 'block')\" onmouseout=\"$('.player .control').css('display', 'none')\">\n" +
|
" <div class=\"player-wrapper\" id=\"container\" style=\"background-color: #0D0E1B;\">\n" +
|
" </div>\n" +
|
" <div class=\"control\">\n" +
|
" <div class=\"fa fa-play\" id=\"play\"></div>\n" +
|
" <div class=\"fa fa-stop\" id=\"stop\" style=\"display: none\"></div>\n" +
|
" <div class=\"timer\">\n" +
|
" <span class=\"progress_timer\">00:00:00</span>\n" +
|
" <span class=\"duration_timer\">00:00:00</span>\n" +
|
" </div>\n" +
|
" <div class=\"fa fa-expand expand\" onclick=\"h5lc.fullscreen=true\"></div>\n" +
|
" <div class=\"fa fa-close\" id=\"close\"></div>\n" +
|
" </div>\n" +
|
" </div>\n" +
|
" </div>");
|
$("#jessibucaContainer").append(_content);
|
|
|
var stream_path;
|
|
var $play = document.getElementById('play');
|
var $stop = document.getElementById('stop');
|
var $close = document.getElementById('close');
|
var container = document.getElementById("container");
|
var h5lc;
|
var ffurl;
|
var elem;
|
|
function Livepler(opt) {
|
opt.elem = document.getElementById(opt.elem);
|
/*
|
if (typeof option.elem === 'string') {
|
}*/
|
/* if (!option.elem) {
|
throw new Error('需要容器');
|
return;
|
}*/
|
elem = opt.elem;
|
ffurl = opt.ffurl;
|
}
|
|
Livepler.prototype.playVideo = function (video_id) {
|
$.ajax({
|
type: "get",
|
url: "../../webapi/media/live?param=" + video_id,
|
timeout: 5000,
|
async: false,
|
success: function (result) {
|
stream_path=result.streamPath;
|
$play.style.display = 'none';
|
$stop.style.display = 'inline';
|
|
h5lc = new Jessibuca({container, decoder: ffurl, videoBuffer: 1000});
|
h5lc.onLoad = function () {
|
this.play(result.jessicaURL);
|
}
|
}
|
});
|
}
|
|
Livepler.prototype.closeVideo = function (streamPath) {
|
this.h5lc.destroy();
|
if (streamPath && typeof streamPath === "String") {
|
$.ajax({
|
type: "get",
|
url: "../../webapi/media/stop?param=" + streamPath,
|
async: false,
|
success: function (result) {
|
this.elem.style.display = 'none';
|
}
|
});
|
}
|
}
|
|
window.Livepler = Livepler;
|
})()
|