;!(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 $play = document.getElementById('play');
|
var $stop = document.getElementById('stop');
|
|
var $jessibucaContainer = document.getElementById('jessibucaContainer');
|
|
|
function Livepler(opt) {
|
if (typeof opt.elem === 'string') {
|
opt.elem = document.getElementById(opt.elem);
|
}
|
if (!opt.elem) {
|
throw new Error('需要容器');
|
return;
|
}
|
let stream_path;
|
|
this.elem = opt.elem;
|
let ffurl = opt.ffurl;
|
let code = opt.code;
|
this.container = document.getElementById("container");
|
|
let h5lc = new Jessibuca({container, decoder: ffurl, videoBuffer: 0});
|
this.playVideo(code,function (result) {
|
h5lc.onLoad=function () {
|
this.play(result.jessicaURL);
|
}
|
stream_path=result.streamPath;
|
$play.style.display = 'none';
|
$stop.style.display = 'inline';
|
})
|
|
let $close = document.getElementById('close');
|
let than = this;
|
//关闭
|
$close.addEventListener('click', function () {
|
h5lc.destroy();
|
than.closeVideo(stream_path)
|
than.elem.style.display = 'none';
|
}, false);
|
}
|
|
Livepler.prototype.playVideo = function (video_id, callback) {
|
$.ajax({
|
type: "get",
|
//url: "../../webapi/media/live?param=" + video_id,
|
url: "../../monica/live?param=" + video_id,
|
timeout: 5000,
|
async: false,
|
success: function (result) {
|
callback(result);
|
}
|
});
|
}
|
|
Livepler.prototype.closeVideo = function (streamPath) {
|
if (streamPath && typeof streamPath === "string") {
|
$.ajax({
|
type: "get",
|
//url: "../../webapi/media/stop?param=" + streamPath,
|
url: "../../monica/stop?param=" + streamPath,
|
async: false,
|
success: function (result) {
|
}
|
});
|
}
|
}
|
|
window.Livepler = Livepler;
|
})()
|