| src/main/resources/public/js/live/livepler.js | ●●●●● patch | view | raw | blame | history | |
| src/main/resources/public/monitor/live.html | ●●●●● patch | view | raw | blame | history |
src/main/resources/public/js/live/livepler.js
@@ -1,4 +1,5 @@ ;!(function () { window.onkeydown = function () { h5lc.fullscreen = false } @@ -22,15 +23,97 @@ $("#jessibucaContainer").append(_content); function constructLive(opt) { this._opt = opt; if (typeof opt.container === "string") { this._opt.container = document.getElementById(opt.container); var video_id; 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; function Livepler(opt) { if (typeof option.elem === 'string') { opt.elem = document.getElementById(opt.elem); } if (!this._opt.container) { throw new Error('Jessibuca need container option'); if (!option.elem) { throw new Error('需要容器'); return; } this.elem = opt.elem; let ffurl = opt.ffurl; h5lc = new Jessibuca({container, decoder: ffurl, videoBuffer: 1000}); } }})() /** * 播放 * @param video_id * @param url * @param c */ Livepler.prototype.playVideo = function (video_id, url, c) { windows.video_id = video_id; $.ajax({ type: "get", url: url + "?param=" + video_id, timeout: 5000, async: false, success: function (result) { stream_path=result.streamPath; c(result); $play.style.display = 'none'; $stop.style.display = 'inline'; h5lc.onLoad = function () { //this.play(result.jessicaURL); this.play("ws://172.16.30.113:8082/live/ff80808178af424e0178af44e677000343616d657261.flv") } } }); } /** * 播放 * @param video_id * @param url * @param c */ Livepler.prototype.closeVideo = function (streamPath, url, c) { this.h5lc.destroy(); if (streamPath && typeof streamPath === "String") { $.ajax({ type: "get", url: url + "?param=" + stream_path, async: false, success: function (result) { c(result); this.elem.style.display = 'none'; } }); } } $play.addEventListener('click', function () { isPlaying = true; h5lc.play("ws://172.16.30.113:8082/live/ff80808178af424e0178af44e677000343616d657261.flv") $play.style.display = 'none'; $stop.style.display = 'inline'; }, false); $stop.addEventListener('click', function () { if (!isPlaying) { return; } isPlaying = false; //stop(); $play.style.display = 'inline'; $stop.style.display = 'none'; }, false); window.Livepler = Livepler; })() src/main/resources/public/monitor/live.html
@@ -24,111 +24,21 @@ <script> var video_id; var stream_path; var $play = document.getElementById('play'); var $stop = document.getElementById('stop'); var $close = document.getElementById('close'); var container = document.getElementById("container"); var $jessibucaContainer = document.getElementById("jessibucaContainer"); //入参 let url = getQueryVariable("url"); var isPlaying = false; var h5lc = new Jessibuca({container, decoder: "../js/jessibuca/ff.js", videoBuffer: 0}); h5lc.onLoad = function () { //this.play("ws://172.16.30.113:8082/live/ff80808178af424e0178af44e677000343616d657261.flv") //this.play("ws://pull3.afb1188.com/live/" + stream + ".flv") } h5lc.onPlay = function () { isPlaying = true; $play.style.display = 'none'; $stop.style.display = 'inline'; } $play.addEventListener('click', function () { isPlaying = true; h5lc.play("ws://172.16.30.113:8082/live/ff80808178af424e0178af44e677000343616d657261.flv") $play.style.display = 'none'; $stop.style.display = 'inline'; }, false); $stop.addEventListener('click', function () { if (!isPlaying) { return; } isPlaying = false; //stop(); $play.style.display = 'inline'; $stop.style.display = 'none'; }, false); let livepler =new Livepler({ elem:"jessibucaContainer", ffurl:"jessibuca/ff.js", }) //播放 //livepler.playVideo() //关闭 $close.addEventListener('click', function () { if (!isPlaying) { return; } isPlaying = false; //stop(); //livepler.closeVideo() $jessibucaContainer.style.display = 'none'; }, false); function stop() { $.get("http://127.0.0.1:8088/monica/video/stop?param=live/test", function () { h5lc.close() } ); } function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { return pair[1]; } } return (false); } //播放 function play_video(video_id) { windows.video_id = video_id; $.ajax({ type: "get", url: "../../webapi/media/live?param=" + video_id, timeout: 5000, async: false, success: function (result) { h5lc.onLoad = function () { this.play(result.jessica); } window.stream_path = result.streamPath; } }); } //关闭 function close_video(streamPath) { h5lc.destroy(); if (streamPath) { $.ajax({ type: "get", url: "../../webapi/media/stop?param=" + stream_path, async: false, success: function (result) { $jessibucaContainer.style.display = 'none'; } }); } } </script>