| | |
| | | </template> |
| | | |
| | | <script> |
| | | let jessibuca = null; |
| | | let jessibucaPlayer = {}; |
| | | export default { |
| | | name: 'jessibuca', |
| | | data() { |
| | |
| | | window.onerror = (msg) => { |
| | | // console.error(msg) |
| | | }; |
| | | console.log(this._uid) |
| | | let paramUrl = decodeURIComponent(this.$route.params.url) |
| | | this.$nextTick(() => { |
| | | this.updatePlayerDomSize() |
| | |
| | | let options = {}; |
| | | console.log("hasAudio " + this.hasAudio) |
| | | |
| | | jessibuca = new window.Jessibuca(Object.assign( |
| | | jessibucaPlayer[this._uid] = new window.Jessibuca(Object.assign( |
| | | { |
| | | container: this.$refs.container, |
| | | videoBuffer: 0.2, // 最大缓冲时长,单位秒 |
| | |
| | | }, |
| | | options |
| | | )); |
| | | |
| | | let jessibuca = jessibucaPlayer[this._uid]; |
| | | let _this = this; |
| | | jessibuca.on("load", function () { |
| | | console.log("on load init"); |
| | |
| | | }, |
| | | play: function (url) { |
| | | console.log(url) |
| | | if (jessibuca) { |
| | | if (jessibucaPlayer[this._uid]) { |
| | | this.destroy(); |
| | | } |
| | | this.create(); |
| | | jessibuca.on("play", () => { |
| | | jessibucaPlayer[this._uid].on("play", () => { |
| | | this.playing = true; |
| | | this.loaded = true; |
| | | this.quieting = jessibuca.quieting; |
| | | }); |
| | | if (jessibuca.hasLoaded()) { |
| | | jessibuca.play(url); |
| | | if (jessibucaPlayer[this._uid].hasLoaded()) { |
| | | jessibucaPlayer[this._uid].play(url); |
| | | } else { |
| | | jessibuca.on("load", () => { |
| | | jessibucaPlayer[this._uid].on("load", () => { |
| | | console.log("load 播放") |
| | | jessibuca.play(url); |
| | | jessibucaPlayer[this._uid].play(url); |
| | | }); |
| | | } |
| | | }, |
| | | pause: function () { |
| | | if (jessibuca) { |
| | | jessibuca.pause(); |
| | | if (jessibucaPlayer[this._uid]) { |
| | | jessibucaPlayer[this._uid].pause(); |
| | | } |
| | | this.playing = false; |
| | | this.err = ""; |
| | | this.performance = ""; |
| | | }, |
| | | destroy: function () { |
| | | if (jessibuca) { |
| | | jessibuca.destroy(); |
| | | if (jessibucaPlayer[this._uid]) { |
| | | jessibucaPlayer[this._uid].destroy(); |
| | | } |
| | | if (document.getElementById("buttonsBox") == null) { |
| | | this.$refs.container.appendChild(this.btnDom) |
| | | } |
| | | jessibuca = null; |
| | | jessibucaPlayer[this._uid] = null; |
| | | this.playing = false; |
| | | this.err = ""; |
| | | this.performance = ""; |
| | |
| | | }, |
| | | fullscreenSwich: function () { |
| | | let isFull = this.isFullscreen() |
| | | jessibuca.setFullscreen(!isFull) |
| | | jessibucaPlayer[this._uid].setFullscreen(!isFull) |
| | | this.fullscreen = !isFull; |
| | | }, |
| | | isFullscreen: function () { |
| | |
| | | } |
| | | }, |
| | | destroyed() { |
| | | if (jessibuca) { |
| | | jessibuca.destroy(); |
| | | if (jessibucaPlayer[this._uid]) { |
| | | jessibucaPlayer[this._uid].destroy(); |
| | | } |
| | | this.playing = false; |
| | | this.loaded = false; |