国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

基于Vue插入視頻的2種方法小結(jié)

2019-11-19 11:54:27
字體:
供稿:網(wǎng)友


屏幕快照 2019-04-01 下午8.06.02.png

方法一:iframe插入視頻鏈接

1.1 ##### 當(dāng)前播放的視頻

<div class="video-wrap" style="width:80%;float:left;oveflow:hidden;">     <iframe :src="this.activeVideo.youtobeURL" frameborder='0'     allow='autoplay;encrypted-media' allowfullscreen style='width:100%;height:500px;'>     </iframe>     <h3>{{this.activeVideo.title}}</h3>    </div>

1.2#####視頻列表

<div class="video-list" style="float:right;width:20%;text-align:center;">    <div v-for='video in videos' :key='video.id' class="thumbnail" >     <div class="thumbnail-img" >      <div style="height:50%;width:100%;position:absolute;z-index:999"      @click="activeVideoShow(video.id)"></div>     <iframe :src='video.youtobeURL' :alt="video.title" />     </div>     <div class="thumbnail-info">      <h4>{{video.title}}</h4>      <div class="thumbnail-views">      <span>{{video.speaker}}</span>      <span>{{video.views}} Views</span>      </div>      <div class="thumbnail-describe">      {{video.describe}}      </div>     </div>    </div>   </div>

1.3#####定義的數(shù)據(jù)結(jié)構(gòu)(自己寫的demo,可能實際中后臺返的數(shù)據(jù)結(jié)構(gòu)會有所不同)

data () {  return {   flag:false,   videos:[{    id:1,title:'test2',youtobeURL:'http://player.youku.com/embed/XMzcwNTY3NTM2MA',speaker:'harry', likes:101,views:0,describe:'good'   },{    id:2,title:'test3',youtobeURL:'http://player.youku.com/embed/XMzcwNTY3NTM2MA',speaker:'harry', likes:100,views:75,describe:'good'   }],   activeVideo:{    id:3,title:'test1',thumbnail:'./../../static/images/headImg.png',speaker:'harry', likes:0,views:0,describe:'good',    youtobeURL:'http://player.youku.com/embed/XMzcwNTY3NTM2MA'   }  } }

1.4##### 點擊視頻列表中的視頻轉(zhuǎn)變?yōu)楫?dāng)前視頻

ps:最開始的時候把點擊事件寫在iframe上,但是點擊無效。后來寫了個div,完美解決:

<div style="height:50%;width:100%;position:absolute;z-index:999"      @click="activeVideoShow(video.id)"></div>

1.5#####轉(zhuǎn)換當(dāng)前視頻的點擊事件:通過id來判斷當(dāng)前點擊的是哪個

activeVideoShow(id){  this.videos.filter(item=>{     if(id == item.id){      this.activeVideo=item     }    })   }

方法二:引用了vue-video-player插件(沒有視頻列表)

相對于iframe方法寫了一堆div和style,vue-video-player簡直精簡到起飛

2.1#####第一次用這個插件,不是很熟悉,所以根據(jù)官方的API 寫了一個videoPlayer的組件,代碼如下:

<div>    <video ref="videoPlayer" class="video-js"></video>  </div>

2.1-1#####需要引入video.js和定義相關(guān)的options

import videojs from 'video.js'---------------------------------props:{    options:{      type:Object,      default(){        return{        }      }    }  },data(){    return{      player:null    }  },mounted(){    this.player=videojs(this.$refs.videoPlayer,this.options,function onPlayerReady(){      console.log('onPlayerReady',this)    })  }

2.2#####在插入視頻的頁面中引入上面的videoPlayer組件,在view層代碼如下:

<video-player class="video-player vjs-custom-skin "    ref="videoPlayer"    :playsinline='false'    :options='videoOptions'    @play="onPlayerPlay($event)"     @pause='onPlayerPause($event)'    @statechagned='playerStateChanged($event)'    >    </video-player>

2.3#####需要引入的插件

import './../../node_modules/video.js/dist/video-js.css'import './../../node_modules/vue-video-player/src/custom-theme.css'import videojs from 'video.js'import {videoPlayer} from 'vue-video-player'import 'videojs-flash'import VideoPlayer from '@/components/videoPlayer.vue'

2.3-1#####定義相關(guān)數(shù)據(jù)

props:{   state:Boolean,  },data(){    return{      videoOptions:{        playbackRates:[1.0,1.5,2.0], // 播放速度        autoplay:false, // 如果true,瀏覽器準(zhǔn)備好時開始回放        controls:true,        muted:false, // 默認(rèn)情況下將會消除任何音頻        loop:false, //循環(huán)播放        preload:'auto', // <video>加載元素后立即加載視頻        language:'zh-CN',        aspectRatio:'16:9', //流暢模式,并計算播放器動態(tài)大小時使用該值        fluid:true, //按比例縮放以適應(yīng)容器        sources:[{         src:'http://vjs.zencdn.net/v/oceans.mp4',         type:'video/mp4'        }],        poster:'http://vjs.zencdn.net/v/oceans.png', // 封面地址        notSupportedMessage:'此視頻暫無法播放,請稍后再試',      }    }  }

代碼地址: https://github.com/yinglichen/videoPlayer

ps:用canvas寫了個字幕功能,還有待修繕,后期補(bǔ)上。

總結(jié)

以上所述是小編給大家介紹的基于Vue插入視頻的2種方法小結(jié),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻城市| 岑巩县| 林周县| 会昌县| 新和县| 长沙县| 苗栗县| 绵竹市| 启东市| 湘阴县| 海原县| 兰溪市| 泌阳县| 崇左市| 吉首市| 江油市| 盐城市| 屏边| 威远县| 衡水市| 裕民县| 屏南县| 旅游| 南康市| 宜昌市| 西吉县| 徐州市| 新邵县| 晴隆县| 汽车| 札达县| 曲周县| 竹北市| 申扎县| 太康县| 汕头市| 射洪县| 肥东县| 灵石县| 清河县| 茌平县|