Browse Source

多屏界面,切换分屏数时播放器正确调整尺寸

pull/462/head
xiaoxie 3 years ago
parent
commit
e0d641064a
  1. 3
      web_src/src/components/common/jessibuca.vue
  2. 19
      web_src/src/components/live.vue

3
web_src/src/components/common/jessibuca.vue

@ -1,5 +1,5 @@
<template> <template>
<div ref="container" @dblclick="fullscreenSwich" style="background-color: #eee;margin:0 auto;"> <div ref="container" @dblclick="fullscreenSwich" style="width:100%;height:100%;background-color: #eee;margin:0 auto;">
<div class="buttons-box" id="buttonsBox"> <div class="buttons-box" id="buttonsBox">
<div class="buttons-box-left"> <div class="buttons-box-left">
<i v-if="!playing" class="iconfont icon-play jessibuca-btn" @click="playBtnClick"></i> <i v-if="!playing" class="iconfont icon-play jessibuca-btn" @click="playBtnClick"></i>
@ -74,6 +74,7 @@ export default {
let dom = this.$refs.container; let dom = this.$refs.container;
let width = dom.parentNode.clientWidth let width = dom.parentNode.clientWidth
let height = (9 / 16) * width let height = (9 / 16) * width
const clientHeight = Math.min(document.body.clientHeight, document.documentElement.clientHeight) const clientHeight = Math.min(document.body.clientHeight, document.documentElement.clientHeight)
if (height > clientHeight) { if (height > clientHeight) {
height = clientHeight height = clientHeight

19
web_src/src/components/live.vue

@ -17,7 +17,8 @@
:style="liveStyle" :class="{redborder:playerIdx == (i-1)}" :style="liveStyle" :class="{redborder:playerIdx == (i-1)}"
@click="playerIdx = (i-1)"> @click="playerIdx = (i-1)">
<div v-if="!videoUrl[i-1]" style="color: #ffffff;font-size: 30px;font-weight: bold;">{{ i }}</div> <div v-if="!videoUrl[i-1]" style="color: #ffffff;font-size: 30px;font-weight: bold;">{{ i }}</div>
<player v-else :videoUrl="videoUrl[i-1]" fluent autoplay @screenshot="shot" @destroy="destroy"/> <player ref="player" v-else :videoUrl="videoUrl[i-1]" fluent autoplay @screenshot="shot"
@destroy="destroy"/>
</div> </div>
</div> </div>
</el-main> </el-main>
@ -59,14 +60,22 @@ export default {
computed: { computed: {
liveStyle() { liveStyle() {
let style = {width: '100%', height: '100%'}
switch (this.spilt) { switch (this.spilt) {
case 4: case 4:
return {width: '49%', height: '49%'} style = {width: '49%', height: '49%'}
break
case 9: case 9:
return {width: '32%', height: '32%'} style = {width: '32%', height: '32%'}
default: break
return {width: '100%', height: '100%'}
} }
this.$nextTick(() => {
for (let i = 0; i < this.spilt; i++) {
const player = this.$refs.player
player && player[i] && player[i].updatePlayerDomSize()
}
})
return style
} }
}, },
watch: { watch: {

Loading…
Cancel
Save