美文网首页
Vue示例之使用视频播放

Vue示例之使用视频播放

作者: 兰觅 | 来源:发表于2020-11-26 14:25 被阅读0次

    简介

    最近接手新项目,从后端变前端,有一点前端基础但是对于Vue一无所知。
    一切从零开始,此次需求是项目中有一个视频播放功能。以下做一个简单示例共大家参考。

    视频插件

    使用的插件是 vue-vedio-player

    安装插件

    输入如下命令

    npm install vue-video-player -s
    或者
    npm install vue-video-player --save
    

    引用

    在main.js里面导入并引用

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

    html标签页面部分

     <div class='demo'>
            <video-player class="video-player vjs-custom-skin"
                          ref="videoPlayer"
                          :playsinline="true"
                          :options="playerOptions">
            </video-player>
        </div>
    

    JS部分

    <script>
        export default {
            data() {
                return {
                    playerOptions: {
                        //播放速度
                        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: '此视频暂无法播放,请稍后再试',
                        controlBar: {
                            timeDivider: true,
                            durationDisplay: true,
                            remainingTimeDisplay: false,
                            //全屏按钮
                            fullscreenToggle: true  
                        }
                    }
     
                }
            }
        }
    </script>
    

    CSS样式

    <style scoped>
      .demo{
        display: inline-block;
        width: 600px;
        height: 338px;
        text-align: center;
        line-height: 100px;
        border: 1px solid transparent;
        border-radius: 4px;
        overflow: hidden;
        background: #fff;
        position: relative;
        box-shadow: 0 1px 1px rgba(0, 0, 0, .2);
        margin-right: 4px;
      }
     
      .demo:hover{
        display: block;
      }
    </style>
    
    特别提示:

    视频路径写法:
    1.视频上传到服务器写法(在JS中找到src更换为你的视频路径)

    src: 'https://xxxx.com/assets/testVideo.mp4' 
    

    2.本地视频路径写法
    在assets目录下新建video文件夹导入视频testVideo即可

     src: require("@/assets/video/testVideo.mp4")
    

    设置视频封面: poster
    图片路径在assets目录下

     poster: require("@/assets/image1.jpg")
    

    效果展示

    效果图1
    效果图2

    相关文章

      网友评论

          本文标题:Vue示例之使用视频播放

          本文链接:https://www.haomeiwen.com/subject/xhgaiktx.html