vuejs에 비디오를 추가하는 방법: 1. iframe을 통해 비디오 링크를 삽입합니다. 2. vue-video-player 플러그인을 인용하여 비디오를 추가합니다.
이 기사의 운영 환경: Windows 7 시스템, vue 버전 2.9.6, DELL G3 컴퓨터.
vuejs에 비디오를 추가하는 방법
Vue를 기반으로 비디오를 삽입하는 2가지 방법 요약:
방법 1: iframe 비디오 링크 삽입
1.1 ##### 현재 비디오 재생
<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#####Video list
<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##### 정의된 데이터 구조(직접 작성한 데모, 백그라운드에서 반환되는 실제 데이터 구조는 다를 수 있음) ) )
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##### 현재 영상으로 변경하려면 영상 목록에서 해당 영상을 클릭하세요
ps: 처음에는 클릭 이벤트가 iframe에 기록되어 있었는데 클릭이 유효하지 않은. 나중에 완벽한 해결책인 div를 작성했습니다.
<div style="height:50%;width:100%;position:absolute;z-index:999" @click="activeVideoShow(video.id)"></div>
1.5##### 현재 비디오의 클릭 이벤트 변환: ID를 사용하여 현재 클릭된 이벤트를 확인합니다.
activeVideoShow(id){ this.videos.filter(item=>{ if(id == item.id){ this.activeVideo=item } }) }
방법 2 : 참조 vue -video-player 플러그인 (비디오 목록 없음)
많은 div와 스타일을 작성하는 iframe 방식에 비해 vue-video-player는 간단하게 간소화되어 이륙할 수 있습니다
2.1#### #이 플러그인을 처음 사용하는데 매우 익숙하지 않아 공식 API를 기반으로 videoPlayer 컴포넌트를 작성했습니다.
<div> <video ref="videoPlayer" class="video-js"></video> </div>
2.1-1##### video.js를 도입하고 관련 옵션을 정의해야 합니다
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 컴포넌트를 도입합니다. 뷰 레이어의 코드는 다음과 같습니다.
<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##### 관련 데이터 정의
props:{ state:Boolean, }, data(){ return{ videoOptions:{ playbackRates:[1.0,1.5,2.0], // 播放速度 autoplay:false, // 如果true,浏览器准备好时开始回放 controls:true, muted:false, // 默认情况下将会消除任何音频 loop:false, //循环播放 preload:'auto', // <video>加载元素后立即加载视频 language:'zh-CN', aspectRatio:'16:9', //流畅模式,并计算播放器动态大小时使用该值 fluid:true, //按比例缩放以适应容器 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: 캔버스를 사용하여 자막 기능을 작성했는데 아직 수정이 필요하며 나중에 추가할 예정입니다.
추천: "5개의 vue.js 비디오 튜토리얼 중 최신 선택"
위 내용은 vuejs에 비디오를 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!