<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>