1.修正了播放地址无法正常播放视频的问题,包含两个错误:
1.1修正播放器界面路由(此页面不需要layout边框,之前已经修复但在地图代码合并时又被错误覆盖) 1.2修正播放器id属性,此属性现在不需要父级组件传入(这是之前导致独立播放页面失效的主要原因) 2.调整滚动条美化样式到app.vue中,使其真正全局生效pull/448/head
parent
e7ab983f94
commit
6e4fc1e79b
|
@ -81,4 +81,24 @@ body,
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-top: 0px !important;
|
padding-top: 0px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*定义滚动条轨道 内阴影+圆角*/
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: #F5F5F5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*定义滑块 内阴影+圆角*/
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: #c8c8c8;
|
||||||
|
box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
|
||||||
|
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div :id="containerId" :ref="containerId" @dblclick="fullscreenSwich">
|
<div id="container" ref="containerId" @dblclick="fullscreenSwich" style="width: 100%">
|
||||||
<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>
|
||||||
|
@ -44,7 +44,7 @@ export default {
|
||||||
forceNoOffscreen: false,
|
forceNoOffscreen: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: ['containerId', 'videoUrl', 'error', 'hasAudio', 'height'],
|
props: ['videoUrl', 'error', 'hasAudio', 'height'],
|
||||||
mounted() {
|
mounted() {
|
||||||
window.onerror = (msg) => {
|
window.onerror = (msg) => {
|
||||||
// console.error(msg)
|
// console.error(msg)
|
||||||
|
@ -71,19 +71,19 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
updatePlayerDomSize() {
|
updatePlayerDomSize() {
|
||||||
let dom = document.getElementById(this.containerId);
|
let dom = document.getElementById('container');
|
||||||
const width = dom.parentNode.clientWidth
|
const width = dom.parentNode.clientWidth
|
||||||
dom.style.width = width + 'px';
|
dom.style.width = width + 'px';
|
||||||
dom.style.height = (9 / 16) * width + "px";
|
dom.style.height = (9 / 16) * width + "px";
|
||||||
},
|
},
|
||||||
create() {
|
create() {
|
||||||
let options = {};
|
let options = {};
|
||||||
console.log(this.$refs[this.containerId])
|
console.log(this.$refs.containerId)
|
||||||
console.log("hasAudio " + this.hasAudio)
|
console.log("hasAudio " + this.hasAudio)
|
||||||
|
|
||||||
this.jessibuca = new window.Jessibuca(Object.assign(
|
this.jessibuca = new window.Jessibuca(Object.assign(
|
||||||
{
|
{
|
||||||
container: this.$refs[this.containerId],
|
container: this.$refs.containerId,
|
||||||
videoBuffer: 0.2, // 最大缓冲时长,单位秒
|
videoBuffer: 0.2, // 最大缓冲时长,单位秒
|
||||||
isResize: true,
|
isResize: true,
|
||||||
decoder: "static/js/jessibuca/decoder.js",
|
decoder: "static/js/jessibuca/decoder.js",
|
||||||
|
@ -204,19 +204,6 @@ export default {
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
resize() {
|
|
||||||
if (this.jessibuca) {
|
|
||||||
this.jessibuca.resize()
|
|
||||||
this.$nextTick(() => {
|
|
||||||
let dom = document.getElementById(this.containerId);
|
|
||||||
if (dom.parentNode.clientHeight == 0) {
|
|
||||||
dom.style.height = (9 / 16) * dom.clientWidth + "px"
|
|
||||||
}
|
|
||||||
dom.style.height = dom.parentNode.clientHeight + "px";
|
|
||||||
dom.style.width = dom.parentNode.clientWidth + "px";
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
playBtnClick: function (event) {
|
playBtnClick: function (event) {
|
||||||
this.play(this.videoUrl)
|
this.play(this.videoUrl)
|
||||||
},
|
},
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<el-dialog title="视频播放" top="0" :close-on-click-modal="false" :visible.sync="showVideoDialog" @close="close()">
|
<el-dialog title="视频播放" top="0" :close-on-click-modal="false" :visible.sync="showVideoDialog" @close="close()">
|
||||||
<!-- <LivePlayer v-if="showVideoDialog" ref="videoPlayer" :videoUrl="videoUrl" :error="videoError" :message="videoError" :hasaudio="hasaudio" fluent autoplay live></LivePlayer> -->
|
<!-- <LivePlayer v-if="showVideoDialog" ref="videoPlayer" :videoUrl="videoUrl" :error="videoError" :message="videoError" :hasaudio="hasaudio" fluent autoplay live></LivePlayer> -->
|
||||||
<div style="width: 100%; height: 100%">
|
<div style="width: 100%; height: 100%">
|
||||||
<player containerId="container" ref="videoPlayer" :visible.sync="showVideoDialog" :videoUrl="videoUrl" :error="videoError" :message="videoError" height="100px" :hasAudio="hasAudio" fluent autoplay live ></player>
|
<player ref="videoPlayer" :visible.sync="showVideoDialog" :videoUrl="videoUrl" :error="videoError" :message="videoError" height="100px" :hasAudio="hasAudio" fluent autoplay live ></player>
|
||||||
</div>
|
</div>
|
||||||
<div id="shared" style="text-align: right; margin-top: 1rem;">
|
<div id="shared" style="text-align: right; margin-top: 1rem;">
|
||||||
<el-tabs v-model="tabActiveName" @tab-click="tabHandleClick">
|
<el-tabs v-model="tabActiveName" @tab-click="tabHandleClick">
|
||||||
|
|
|
@ -24,26 +24,6 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*定义滚动条轨道 内阴影+圆角*/
|
|
||||||
::-webkit-scrollbar-track {
|
|
||||||
border-radius: 4px;
|
|
||||||
background-color: #F5F5F5;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*定义滑块 内阴影+圆角*/
|
|
||||||
::-webkit-scrollbar-thumb {
|
|
||||||
border-radius: 4px;
|
|
||||||
background-color: #c8c8c8;
|
|
||||||
box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
|
|
||||||
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*定义标题栏*/
|
/*定义标题栏*/
|
||||||
.page-header {
|
.page-header {
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
|
@ -64,10 +44,6 @@ export default {
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.el-main {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fade-enter {
|
.fade-enter {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
|
|
@ -98,16 +98,6 @@ export default new VueRouter({
|
||||||
name: 'media',
|
name: 'media',
|
||||||
component: media,
|
component: media,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: '/play/wasm/:url',
|
|
||||||
name: 'wasmPlayer',
|
|
||||||
component: wasmPlayer,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/play/rtc/:url',
|
|
||||||
name: 'rtcPlayer',
|
|
||||||
component: rtcPlayer,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: '/map',
|
path: '/map',
|
||||||
name: 'devicePosition',
|
name: 'devicePosition',
|
||||||
|
@ -125,5 +115,15 @@ export default new VueRouter({
|
||||||
name: 'deviceTree',
|
name: 'deviceTree',
|
||||||
component: deviceTree,
|
component: deviceTree,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/play/wasm/:url',
|
||||||
|
name: 'wasmPlayer',
|
||||||
|
component: wasmPlayer,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/play/rtc/:url',
|
||||||
|
name: 'rtcPlayer',
|
||||||
|
component: rtcPlayer,
|
||||||
|
},
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue