| | |
| | | ;!(function () { |
| | | |
| | | window.onkeydown = function () { |
| | | h5lc.fullscreen = false |
| | | } |
| | |
| | | " <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); |
| | | |
| | | |
| | | 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; |
| | | |
| | | })() |
| | | |