vue-视频加载播放
<div class="map-info-suspension map-info-right video-box" v-if="video" style="width:460px;">
<video preload="auto"
:height="height" :width="width" align="center" :controls="controls" :autoplay="autoplay">
<source :src="videoSrc" type="video/mp4">
</video>
<!--<img src="@/assets/images/video-demo.jpg" class="video">-->
<p class="video-title">园区简介</p>
<div id="contentId"
:class="[styleFlag ? 'overflow-style' : 'video-content']"
@click="removeStyle">
暂无简介...
</div>
</div>
<script>
import Video from 'video.js';
import {getParkContent} from "@/views/map/display/load";
import {getToken} from '@/utils/auth'
import 'video.js/dist/video-js.css';
import * as echarts from 'echarts';
export default {
name:'mapIndex',
data() {
return {
videoSrc:process.env.VUE_APP_BASE_API+"/system/park/getVideoFile?token="+getToken(),
//videoSrc: '@/assets/video/yixiuqu.mp4',
videoImg: '@/assets/images/video-demo.jpg',
playStatus: '',
muteStatus: '',
isMute: true,
isPlay: false,
width: '460', // 设置视频播放器的显示宽度(以像素为单位)
height: '260', // 设置视频播放器的显示高度(以像素为单位)
preload: 'auto', // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay: '',
styleFlag:true,
}
},
mounted(){
/* this.barChart(this.barChart_xdata[0],this.barChart_ydata[0]);*/
getParkContent().then(response => {
if(response.code==200){
document.getElementById("contentId").innerText=response.data.content;
}
});
},
methods: {
changeActive($event){
document.getElementById("initLi").className='';
$event.currentTarget.className="liMous";
},
removeActive($event){
$event.currentTarget.className="";
},
removeStyle(){
this.styleFlag=!this.styleFlag;
}
},
}
</script>
<style scoped>
.map{
position: absolute;
height:100%;
width: 100%;
z-index: 2;
overflow:hidden;
background:url(../assets/images/map-demo2.jpg);
background-size: cover;
}
.map-info-center{
width: 325px;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.map-info-top-full{
position: absolute;
top: 35px;
left: 50px;
width: calc(100% - 100px);
height: 54px;
background-color: rgba(255, 255, 255, 0.5);
box-shadow: 0px 3px 8px 0px
rgba(30, 72, 111, 0.35);
border-radius: 10px;
}
.el-icon-arrow-down {
font-size: 18px;
}
.map-info-right{
top: 102px;
right: 50px;
}
.chart-box{
padding: 10px;
width: 324px;
height: 245px;
}
.video-box{
width: 354px;
}
.video-box .video{
height: 256px;
}
.video-box .video-title{
padding: 5px 10px 0;
font-weight: bold;
}
.video-content{
/*padding: 5px 10px 15px;*/
margin:6px 12px 14px 14px;
text-indent: 2em;
overflow-y:scroll;
height: 200px;
}
.overflow-style{
margin:6px 12px 14px 14px;
text-indent: 2em;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.my-menu .secondary-menu-ul{
display: none;
}
.my-menu li:hover .secondary-menu-ul{
display: block;
}
.my-menu li:hover .el-icon-arrow-down{
transform: rotate(180deg);
}
/* checkebox颜色重置 */
>>>.el-checkbox__input.is-checked .el-checkbox__inner {
background-color: #3367e3;
border-color: #3367e3;
}
>>>.el-checkbox__input.is-checked + .el-checkbox__label {
color: #3367e3;
}
>>>.el-checkbox__label{
color: rgba(34, 34, 34, 0.85);
font-size: 16px;
}
.liMous{
color:#0c5ee5;
}
</style>
//加载园区视频文件流
@RequestMapping(value = "/getVideoFile",method = RequestMethod.GET)
public String getVideoFile(HttpServletRequest request , HttpServletResponse response) throws IOException {
try {
String token=request.getParameter("token");
LoginUser user = tokenService.getLoginUserByToken(token);
FileInputStream fis = null;
OutputStream os = null ;
Long tenantId = user.getTenantId();
String tenantCode = tenantService.findBigTenantCode(tenantId);
IntroductionPark introductionPark = introductionParkService.getIntroductionPark(tenantCode);
//String filePath = KdgcConfig.getProfile()+"/video/anqing.mp4";
String filePath = KdgcConfig.getProfile()+introductionPark.getVideoPath();
fis = new FileInputStream(filePath);
int size = fis.available(); // 得到文件大小
byte data[] = new byte[size];
fis.read(data); // 读数据
fis.close();
fis = null;
response.setContentType("video/mp4"); // 设置返回的文件类型
os = response.getOutputStream();
os.write(data);
os.flush();
os.close();
os = null;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
posted on 2022-01-18 11:29 ALWAYS☆REMIND 阅读(469) 评论(0) 收藏 举报
浙公网安备 33010602011771号