|
|
@@ -23,7 +23,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-let jessibuca = null;
|
|
|
+let jessibucaPlayer = {};
|
|
|
export default {
|
|
|
name: 'jessibuca',
|
|
|
data() {
|
|
|
@@ -49,6 +49,7 @@ export default {
|
|
|
window.onerror = (msg) => {
|
|
|
// console.error(msg)
|
|
|
};
|
|
|
+ console.log(this._uid)
|
|
|
let paramUrl = decodeURIComponent(this.$route.params.url)
|
|
|
this.$nextTick(() => {
|
|
|
this.updatePlayerDomSize()
|
|
|
@@ -88,7 +89,7 @@ export default {
|
|
|
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, // 最大缓冲时长,单位秒
|
|
|
@@ -117,7 +118,7 @@ export default {
|
|
|
},
|
|
|
options
|
|
|
));
|
|
|
-
|
|
|
+ let jessibuca = jessibucaPlayer[this._uid];
|
|
|
let _this = this;
|
|
|
jessibuca.on("load", function () {
|
|
|
console.log("on load init");
|
|
|
@@ -216,40 +217,40 @@ export default {
|
|
|
},
|
|
|
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 = "";
|
|
|
@@ -262,7 +263,7 @@ export default {
|
|
|
},
|
|
|
fullscreenSwich: function () {
|
|
|
let isFull = this.isFullscreen()
|
|
|
- jessibuca.setFullscreen(!isFull)
|
|
|
+ jessibucaPlayer[this._uid].setFullscreen(!isFull)
|
|
|
this.fullscreen = !isFull;
|
|
|
},
|
|
|
isFullscreen: function () {
|
|
|
@@ -273,8 +274,8 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
destroyed() {
|
|
|
- if (jessibuca) {
|
|
|
- jessibuca.destroy();
|
|
|
+ if (jessibucaPlayer[this._uid]) {
|
|
|
+ jessibucaPlayer[this._uid].destroy();
|
|
|
}
|
|
|
this.playing = false;
|
|
|
this.loaded = false;
|