成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

vue-video-player 斷點續播的實現

瀏覽:3日期:2022-10-07 11:39:26

最近的項目中需要實現視頻斷點續播的功能,一聽到這個功能。內心方張了..但卻又有點小竊喜,小懵亂。抱著求學態度去挑戰一下。

1.安裝插件

npm install vue-video-player --save2.Main.js 引入組件

import VideoPlayer from ’vue-video-player’require(’video.js/dist/video-js.css’)require(’vue-video-player/src/custom-theme.css’)Vue.use(VideoPlayer)3.頁面使用組件

<el-tree :data='ChapterOptions' :props='defaultProps' node-key=’id’ highlight-current :filter-node-method='filterNode' ref='tree' default-expand-all @node-click='handleNodeClick' /><video-player ref='videoPlayer' :playsinline='true':options='playerOptions'@pause='onPlayerPause($event)'@ended='onPlayerEnded($event)'@play='onPlayerPlay($event)'@timeupdate='onPlayerTimeupdate($event)'@ready='playerReadied' /><script>import { videoPlayer } from ’vue-video-player’import ’video.js/dist/video-js.css’import ’vue-video-player/src/custom-theme.css’import { treeselect } from '@/api//driver/videoChapter';import Treeselect from '@riophae/vue-treeselect';import '@riophae/vue-treeselect/dist/vue-treeselect.css';export default { name: 'videoPlayer', components: { Treeselect,videoPlayer }, data() { return { //用戶信息 user:{}, //=============================== paused: true, learningDuration: { userId: ’’, //用戶id chapterId:’’,//章節id timeLog: ’’, //視頻觀看時長 }, playerOptions: { playbackRates: [0.5, 1.0, 1.5, 2.0], //播放速度 autoplay: false, // 如果true,瀏覽器準備好時開始回放。 muted: false, // 默認情況下將會消除任何音頻。 loop: false, // 導致視頻一結束就重新開始。 preload: ’auto’, // 建議瀏覽器在<video>加載元素后是否應該開始下載視頻數據。auto瀏覽器選擇最佳行為,立即開始加載視頻(如果瀏覽器支持) language: ’zh-CN’, aspectRatio: ’16:9’, // 將播放器置于流暢模式,并在計算播放器的動態大小時使用該值。值應該代表一個比例 - 用冒號分隔的兩個數字(例如'16:9'或'4:3') fluid: true, // 當true時,Video.js player將擁有流體大小。換句話說,它將按比例縮放以適應其容器。 sources: [ { type: ’video/mp4’, // 這里的種類支持很多種:基本視頻格式、直播、流媒體等,具體可以參看git網址項目 src: ’’// url地址 } ], hls: true, poster: ’’, // 你的封面地址 width: document.documentElement.clientWidth, // 播放器寬度 notSupportedMessage: ’此視頻暫無法播放,請稍后再試’, // 允許覆蓋Video.js無法播放媒體源時顯示的默認信息。 controlBar: { //當前時間和持續時間的分隔符 timeDivider: true, //顯示持續時間 durationDisplay: true, //是否顯示剩余時間功能 remainingTimeDisplay: false, //全屏按鈕 fullscreenToggle: true } } };},computed: { player() { return this.$refs.videoPlayer.player//自定義播放 } },mounted () { this.timer = setInterval(this.putLearningObj, 3000) },destroyed () { // 如果定時器在運行則關閉 if (this.timer) { clearInterval(this.timer) } },methods: { //用戶信息 getUser() { getUserProfile().then(response => { this.user = response.data; this.learningDuration.userId = this.user.userId }); }, //============================ fullScreen() { const player = this.$refs.videoPlayer.player player.requestFullscreen()//調用全屏api方法 player.isFullscreen(true) player.play() }, onPlayerPlay(player) { this.paused = false // player.play() }, onPlayerPause (player) { this.paused = true // console.log(’onPlayerPause!’, player) }, onPlayerEnded (player) { this.paused = false; // clearInterval(this.timer); }, //當前播放位置發生變化時觸發。 onPlayerTimeupdate (player) { // console.log(’ onPlayerTimeupdate!’, this.timeLog) }, /* 設置視頻進度 */ playerReadied: function (player) { },};</script>

上面的 src視頻地址可以換成具體的地址串,也能換成后臺的地址串,因為我的是章節樹所以我和章節id進行了關聯

/** 查詢部門下拉樹結構 */ getTreeselect() { treeselect().then((response) => { //封面 var img = ’’; this.ChapterOptions = response.data; for (let i = 0; i <this.ChapterOptions.length ; i++) { this.videoName = this.ChapterOptions[0].children[0].chapterName this.videoIntroduce = this.ChapterOptions[0].children[0].chapterIntroduce this.VideoUrl = JSON.parse(this.ChapterOptions[0].children[0].videoAddress) img = JSON.parse(this.ChapterOptions[0].children[0].imageAddress) //初始化封面 for (let j = 0; j <img.length ; j++) { this.playerOptions.poster =img[0]; } //初始化第一個章節視頻 for (let j = 0; j <this.VideoUrl.length ; j++) { this.playerOptions.sources[0].src = this.VideoUrl[0] } //初始化章節 this.learningDuration.chapterId = this.ChapterOptions[0].children[0].id; //默認高亮第一個章節節點 this.$nextTick(()=>{ this.$refs.tree.setCurrentKey(this.ChapterOptions[0].children[0].id); }) } }); }, // 篩選節點 filterNode(value, data) { if (!value) return true; return data.label.indexOf(value) !== -1; }, // 節點單擊事件 handleNodeClick(data) { // console.log(data) var img = ’’; //刷新原視頻, 原封面 this.playerOptions.sources[0].src = ’’; this.playerOptions.poster = ’’; //轉換視頻 this.VideoUrl= JSON.parse(data.videoAddress); // console.log('this.VideoUrl') for (let i = 0; i <this.VideoUrl.length ; i++) { this.playerOptions.sources[0].src = this.VideoUrl[0]; } img = JSON.parse(data.imageAddress); for (let i = 0; i <img.length ; i++) { this.playerOptions.poster = img[0]; } // console.log('this.playerOptions.sources[0].src') // console.log(this.playerOptions.sources[0].src) //章節介紹 this.videoIntroduce = data.chapterIntroduce; //章節名稱 this.videoName = data.chapterName; //章節id this.learningDuration.chapterId = data.id // console.log(this.videoIntroduce) },

4.進度保存

接下來就是 保存視頻的進度條了,通過打印發現onPlayerTimeupdate可獲取到視頻的進度,故采用定時器 每3秒觸發一次數據交互

computed: { player() { return this.$refs.videoPlayer.player//自定義播放 } }, mounted () { this.timer = setInterval(this.putLearningObj, 3000) }, destroyed () { // 如果定時器在運行則關閉 if (this.timer) { clearInterval(this.timer) } },methods: { putLearningObj () { if (!this.paused) { //保存視頻進度 saveTime(this.learningDuration) console.log(’putLearningObj ~~~~~~~~~’) } },//當前播放位置發生變化時觸發。onPlayerTimeupdate (player) { this.learningDuration.timeLog = player.cache_.currentTime // console.log(’ onPlayerTimeupdate!’, this.timeLog) },},

saveTime是我自定義的與后端交互的方法。(可自行定義)

// 保存視頻進度export function saveTime(data) { return request({ url: ’/***/****/***/’, method: ’put’, data: data })}

那么到了這一步 進度就能保存下來了

4.進度恢復

想要恢復進度,就必須在視頻播放前把 保存進度下來的設置到視頻當中,通過打印可以看出playerReadied 可以設置

/* 設置視頻進度 */playerReadied: function (player) {//可在此調用后臺交互方法...player.currentTime(this.learningDuration.timeLog)},

到此 進度可以 恢復了 大功告成!。至于后臺交互數據 需求不一樣,代碼也就沒有貼出來。

vue-video-player 斷點續播的實現

到此這篇關于vue-video-player 斷點續播的文章就介紹到這了,更多相關vue video player 斷點續播內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
91免费版在线看| 成人av午夜影院| 日韩成人午夜电影| 国产做a爰片久久毛片| 在线视频国内自拍亚洲视频| 精品国产免费久久| 国产二区国产一区在线观看| 欧洲精品视频在线观看| 自拍偷拍亚洲欧美日韩| 97se亚洲国产综合自在线不卡| 欧美日本一区二区三区四区 | 日韩国产精品久久| 欧美亚洲免费高清在线观看| 亚洲免费资源在线播放| 黄色成人在线网站| 国产精品视频在线看| 欧美高清视频一区二区三区在线观看| 26uuu精品一区二区三区四区在线| 老司机精品视频在线| 色婷婷精品久久二区二区蜜臂av| 亚洲黄色免费网站| 日韩午夜av| 亚洲欧洲综合另类| 日韩午夜电影| 亚洲精品大片www| 宅男噜噜噜66一区二区| 亚洲男人的天堂在线观看| 在线播放亚洲| 成人欧美一区二区三区1314| 好吊日精品视频| 综合欧美一区二区三区| 亚洲电影成人| 亚洲综合一区二区精品导航| 国产精品亚洲综合色区韩国| 亚洲精品大片www| 国产亚洲毛片在线| 天天综合日日夜夜精品| 久久久水蜜桃| 日日摸夜夜添夜夜添国产精品| 老牛国产精品一区的观看方式| 免费xxxx性欧美18vr| 欧美麻豆精品久久久久久| 成人黄色免费短视频| 国产香蕉久久精品综合网| 亚洲手机在线| 一区二区三区日韩欧美| 美女图片一区二区| 卡一卡二国产精品 | 国产欧美综合色| 国产在线欧美日韩| 一区二区三区.www| 久久国产一区| 狠狠色狠狠色合久久伊人| 日韩精品一区二区三区四区视频| 色综合网色综合| 一区二区三区日韩欧美精品| 色呦呦一区二区三区| 国内精品嫩模私拍在线| 在线成人免费视频| 99综合影院在线| 国产精品久久夜| 美女精品一区| 国产成人在线色| 亚洲国产精品传媒在线观看| 亚洲精选成人| 日日夜夜免费精品视频| 欧美日韩一区二区三区不卡| 国产成人综合在线| 国产精品麻豆网站| 亚洲综合国产激情另类一区| 美女视频免费一区| 日韩精品中午字幕| 欧美黄污视频| 久久精品国产精品亚洲综合| 欧美日韩在线观看一区二区| 2021中文字幕一区亚洲| 欧美连裤袜在线视频| 欧美91大片| 午夜一区二区三区在线观看| 欧美色图片你懂的| 成人久久久精品乱码一区二区三区| 欧美本精品男人aⅴ天堂| 亚洲狠狠婷婷| 精品在线播放免费| 国产精品人成在线观看免费| 色婷婷亚洲精品| 97久久人人超碰| 亚洲国产乱码最新视频| 欧美日韩国产美女| 欧美午夜一区| 蜜臀99久久精品久久久久久软件| 精品日韩在线一区| 制服诱惑一区二区| 国产sm精品调教视频网站| 亚洲色图欧美激情| 欧美日韩成人综合| 91视频.com| 天堂久久一区二区三区| 精品捆绑美女sm三区| 国产精品久久777777毛茸茸| 国产成人在线视频网站| 一区二区三区在线免费视频| 日韩欧美亚洲另类制服综合在线| aa成人免费视频| 国产成人在线免费观看| 亚洲影院理伦片| 久久色中文字幕| 噜噜噜91成人网| 99热精品国产| 水蜜桃久久夜色精品一区的特点| 2020国产精品久久精品美国| 香蕉视频成人在线观看| 成人av电影免费在线播放| 亚洲高清中文字幕| xnxx国产精品| 色综合久久天天| 国产一区二区三区四区老人| 久久国产夜色精品鲁鲁99| 国产精品毛片大码女人| 欧美精品九九99久久| 国产一区二区你懂的| 91免费看片在线观看| 久久99精品久久久| 亚洲精品免费在线观看| 日韩精品一区二区三区在线播放| 久久久精品动漫| 国产精品av久久久久久麻豆网| 国产精品一区二区果冻传媒| 亚洲一区在线观看视频| 国产色一区二区| 欧美精品免费视频| 销魂美女一区二区三区视频在线| 91免费版在线| 国产精品888| 婷婷综合另类小说色区| 国产精品久线在线观看| 日韩欧美色综合网站| 久久蜜桃资源一区二区老牛| 欧美日韩在线不卡一区| 国产99久久久国产精品免费看 | 亚洲一区在线观看视频| 久久精品欧美日韩精品| 56国语精品自产拍在线观看| 色成年激情久久综合| 亚洲免费成人| 欧美另类视频| 99这里只有久久精品视频| 国产综合成人久久大片91| 日韩不卡一区二区三区| 夜夜亚洲天天久久| 国产精品全国免费观看高清| 日韩精品自拍偷拍| 欧美日韩免费电影| 色婷婷精品久久二区二区蜜臀av| 日韩午夜av| 激情成人综合| 91在线视频播放地址| 国产一区高清在线| 蜜桃视频第一区免费观看| 亚洲国产成人91porn| 亚洲视频在线观看一区| 亚洲国产精品成人久久综合一区| 日韩精品中文字幕一区| 欧美日韩亚洲国产综合| 色婷婷亚洲综合| 蜜桃精品久久久久久久免费影院| 在线成人亚洲| 国产精品v欧美精品v日韩| 午夜电影亚洲| 欧美日韩免费观看一区=区三区| 色综合色狠狠综合色| 97久久超碰国产精品| 成人国产精品免费观看视频| 成人在线视频一区| 国产成a人无v码亚洲福利| 老司机一区二区| 美日韩一级片在线观看| 日韩av成人高清| 午夜影院在线观看欧美| 偷窥少妇高潮呻吟av久久免费| 亚洲国产精品精华液网站| 亚洲第一成人在线| 亚洲午夜久久久久久久久电影网| 亚洲激情在线播放| 亚洲一区在线视频| 亚洲影院免费观看| 亚瑟在线精品视频| 舔着乳尖日韩一区| 另类小说欧美激情| 国产一区二区三区黄视频| 国产成人亚洲综合色影视| 国产宾馆实践打屁股91| 成人免费观看男女羞羞视频| 99在线视频精品| 欧美日韩一区在线观看视频| 亚洲天堂黄色| 亚洲日本视频| 一区二区三区免费看| 老鸭窝91久久精品色噜噜导演| 久久精品综合|