声明:本站文章均为作者个人原创,图片均为实际截图。如有需要请收藏网站,禁止转载,谢谢配合!!!

本文介绍了在vue项目中使用vue-video-player播放视频的方法

1、安装vue-video-player拓展

使用npm安装vue-video-player,也可以使用yarn、cnpm

npm install vue-video-player --save

2、全局注册组件vue-video-player

import VideoPlayer from 'vue-video-player'
import 'vue-video-player/src/custom-theme.css'
import 'video.js/dist/video-js.css'
Vue.use(VideoPlayer)

3、使用vue-video-player

3.1 html 代码

<video-player  v-if="$utils.isVideo(item)"
    class="video-player vjs-custom-skin"
    ref="'videoPlayer"
    :playsinline="true"
    style="width: 100%;"
    :options="getPlayerOptions(item)"
    @play="($event) => onPlayerPlay($event)"
>
 </video-player>

3.2 js代码播放配置playerOptions

data(){
    return {
        playerOptions: {
          //controls: false,
          //播放速度
          //playbackRates: [0.5, 1.0, 1.5, 2.0],
          //如果true,浏览器准备好时开始回放。
          autoplay: false,
          // 默认情况下将会消除任何音频。
          muted: false,
          // 导致视频一结束就重新开始。
          loop: false,
          // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
          preload: 'auto',
          language: 'zh-CN',
          // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
         // aspectRatio: '16:9',
          // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
          fluid: true,
          sources: [{
            //类型
            type: "video/mp4",
            //url地址
            src: ''
          }],
          //你的封面地址
          poster: '',
          //允许覆盖Video.js无法播放媒体源时显示的默认信息。
          notSupportedMessage: 'Error',
          controlBar: {
            timeDivider: false,
            durationDisplay: false,
            remainingTimeDisplay: false,
            volumeMenuButton: false,
            //全屏按钮
            fullscreenToggle: true,
            playToggle: true,
            volumePanel: true,
            currentTimeDisplay: false,
            progressControl: false,
            //'liveDisplay', 'seekToLive', 'remainingTimeDisplay', 'customControlSpacer', 'playbackRateMenuButton', 'chaptersButton', 'descriptionsButton', 'subsCapsButton', 'audioTrackButton', 'fullscreenToggle'
          }
        }
    }
}
 getPlayerOptions(src){
     let temp = {...this.playerOptions} //深拷贝
     temp.sources[0].src = src //自定义src
     return temp
},

3.3 配置注意

注意:controlBar为底部控制栏显示配置,这个是通过video.js找到的配置项目

timeDivider //时间
durationDisplay //时长
remainingTimeDisplay //剩余时间
volumeMenuButton //音量
fullscreenToggle //全屏
playToggle //暂停/播放
volumePanel //音量面板
currentTimeDisplay //当前时间
progressControl //进度条
liveDisplay 
seekToLive
customControlSpacer
playbackRateMenuButton
chaptersButton
descriptionsButton
subsCapsButton
audioTrackButton



点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论