<template>
<div class="trial">
<video
id="videoPlayer"
class="video-js vjs-default-skin"
controls
preload="auto"
poster="/img/trial/video-bg.png"
x-webkit-airplay="true"
webkit-playsinline="true"
playsinline="true"
x5-video-player-fullscreen="true"
x5-video-orientation="landscape"
x5-video-player-type="h5"
/>
<!--controls 如果设置了该属性,则规定不存在作者设置的脚本控件。 -->
<!-- preload 属性规定是否在页面加载后载入视频。 -->
<!-- poster 属性规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。 -->
<!-- x-webkit-airplay 在移动端,不默认全屏播放 -->
<!-- webkit-playsinline 让视频在小窗内播放,也就是不是全屏播放 -->
<!-- playsinline IOS微信浏览器支持小窗内播放 -->
<!-- x5-video-player-fullscreen 全屏设置,设置为 true 是防止横屏-->
<!-- x5-video-orientation 播放器支付的方向, landscape横屏,portraint竖屏,默认值为竖屏-->
<!-- x5-video-player-type="h5" 启用H5播放器,是wechat安卓版特性 -->
<!-- style="object-fit:fill" 加这个style会让 Android / web 的视频在微信里的视频全屏,如果是在手机上预览,会让视频的封面同视频一样大小 -->
<div @click="play">播放</div>
</div>
</template>
<script>
import "video.js/dist/video-js.css";
import videojs from "video.js";
import "@videojs/http-streaming";
export default {
data() {
return { player: null };
},
mounted() {
this.player = videojs("videoPlayer", {
bigPlayButton: false, // 隐藏默认播放按钮
textTrackDisplay: false, // 用于显示文本跟踪提示的组件
posterImage: true, // 是否启用静止图片
errorDisplay: false, //显示错误
controlBar: true, // 控制条
aspectRatio: "480:270", // 宽高比设定
playbackRates: [1, 1.25, 1.5, 2] // 倍速播放
});
请求.then(res => {
this.player.src({
src: res.course.video,
type: "application/x-mpegURL",
withCredentials: false
});
}).catch(err => {
console.log(err, "error");
});
},
methods: {
play() {
this.player.play();
}
}
};
</script>