资讯专栏INFORMATION COLUMN

vue-video-player 更改视频源

Dionysus_go / 2172人阅读

摘要:背景根据用户的信息来显示不同的视频源默认情况下将会消除任何音频。换句话说,它将按比例缩放以适应其容器。此视频暂无法播放,请稍后再试允许覆盖无法播放媒体源时显示的默认信息。

背景:根据用户的信息来显示不同的视频源


export default {
    data () {
        return {
            playerOptions: {
                    // videojs options
                    muted: true,
                    language: "en",
                    playbackRates: [0.7, 1.0, 1.5, 2.0],
                    sources: [{
                        type: "video/mp4",
                        src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
                        // src: "http://www.17sucai.com/preview/501914/2017-08-04/%E9%A1%B5%E9%9D%A2/media/mov_bbb.mp4"
                    }],
                    muted: false, // 默认情况下将会消除任何音频。
                    loop: false,
                    language: "zh-CN",
                    fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
                    poster: "/static/images/author.jpg",
                    width: 700,
                    notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
                },
        }
    },
    methods: {
        showVideo (bol) {
            let myPlayer = this.$refs.videoPlayer.player;
            if( bol ) {
                myPlayer.src(this.getUserType); //根据userType的不同展示不同的视频地址
              return false
            };
        }
    },
    computed: {
        getUserType () {
            let userType = parseInt(this.userInfo.userType);
            let videoSrc = ""
            if(userType === 1){
                videoSrc = "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
            }else if (userType === 2){
                videoSrc = "http://www.17sucai.com/preview/501914/2017-08-04/%E9%A1%B5%E9%9D%A2/media/mov_bbb.mp4"
            }
            return videoSrc;
        }
    }
}

初始 playerOptions.sources.src必须有值,否则后续视频的进度条会有问题
//感觉我使用的是最笨的方法,如果有更好的方法,望留言指教>_<

又一次用到了vue-video-player
需要更改播放按钮,默认的是有一个比较丑的播放按钮,但是设计人员给出的播放按钮比较漂亮,一开始的思路是怎么把控制播放的事件绑定到自己写的按钮上面,最终没有实现= =。。。

然后开始想改变样式来控制,直接暴力修改它原本的样式,并通过比较播放暂停播放状态容器上类名的不同来显示隐藏“漂亮”的播放按钮

播放时和暂停时容器的类名差别是有没有  “vjs-paused”

最终的解决方法:
        .video-js{
            .fs(24);// 样式文件里元素的单位是em,因为控制条太小了,默认的font-size是10px,所以这里做了更改。 fs(24)最终通过less的处理会转换为rem单位
        }
        .video-js .vjs-big-play-button{
            position: absolute;
            display: block;
            left: 0px;
            top: 0px;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, .7);
            border: none;
        }
        .video-js .vjs-big-play-button .vjs-icon-placeholder:before{
            position: absolute;
            content: "";
            .w(120);
            .h(120);
            left: 50%;
            top: 50%;
            .ml(-60);
            .mt(-60);
            background: url("../../assets/images/icon_play@2x.png") center center no-repeat;
            background-size: 100% 100%;
            border: none;
        }
       //下面代码控制播放按钮是否显示
        .vjs-controls-disabled .vjs-big-play-button, .vjs-has-started .vjs-big-play-button, .vjs-using-native-controls .vjs-big-play-button, .vjs-error .vjs-big-play-button {
            display: none;
        }
        .vjs-paused .vjs-big-play-button {
            display: block;
        }

今天脑袋突然开窍,发现一个不用更改原先的css就可以实现控制播放的方法,其实这样子用就可以,           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94729.html

相关文章

  • vue-video-player使用笔记(兼容m3u8)

    摘要:默认情况下将会消除任何音频。浏览器选择最佳行为立即开始加载视频如果浏览器支持将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。换句话说,它将按比例缩放以适应其容器。 下载vue-video-player npm install vue-video-player --save 在main.js文件引入 showImg(https://segmentfault.com/img/b...

    Edison 评论0 收藏0
  • vue-video-player使用笔记(兼容m3u8)

    摘要:默认情况下将会消除任何音频。浏览器选择最佳行为立即开始加载视频如果浏览器支持将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。换句话说,它将按比例缩放以适应其容器。 下载vue-video-player npm install vue-video-player --save 在main.js文件引入 showImg(https://segmentfault.com/img/b...

    msup 评论0 收藏0
  • 【收藏】2019年最新Vue相关精品开项目库汇总

    摘要:前言本文的前身是源自上的项目但由于该项目上次更新时间为年月日,很多内容早已过期或是很多近期优秀组件未被收录,所以小肆今天重新更新了内容并新建项目。提交的项目格式如下项目名称子标题相关介绍如果收录的项目有错误,可以通过反馈给小肆。 前言 本文的前身是源自github上的项目awesome-github-vue,但由于该项目上次更新时间为2017年6月12日,很多内容早已过期或是很多近期优...

    williamwen1986 评论0 收藏0

发表评论

0条评论

Dionysus_go

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<