zoukankan      html  css  js  c++  java
  • 关于vue中的videoPlayer的src视频地址参数动态修改(网上一堆错误方法,被误导很久,自己找到了正确的方法,供大家借鉴)

    方法很简单:相信大家的问题应该是改变src的值吧,动态赋值这一步简单。this.playerOptions['sources'][0]['src'] 就是这一步解决提取src问题,主要部分用绿色框起来了

    playerOptions 参数是一个字典对吧!修改字典中的值怎么做不用多说吧直接赋值就好了,下面方法 的重点就是取出src参数进行赋值。

    你们视频的url从数据库通过动态获取过来的时候,直接赋值给这个字典中的src就行了,赋值方法:this.playerOptions['sources'][0]['src'] = this.url;  这是method中的方法响应成功后进行赋值的this.url是自行定义的变量。这个时候你们明白怎么动态修改src的值了吧?(能获取了,想在哪赋值想怎么赋值都行了)。

    先展示几个坑爹博客的截图,大家见到他们转身就走吧,简直是坑壁,发些复杂没用的废物方法,it界的败类,乱发东西自己不去验证:

    下面两个就是方法一可行性未知但是复杂的一批,第二个则是完全没用,根本不需要用到ref属性。

    下面红色部分里面的playerOptions是设置播放器的参数,完整的播放功能需要设置四个地方,在这里只展示了其中之一(参数设置,要完整的随时留言)

     export default {
            name: "Video",
            data(){
                return{
                    playerOptions: {
                    playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度
                    autoplay: false, //如果true,则自动播放
                    muted: false, // 默认情况下将会消除任何音频。
                    loop: false, // 循环播放
                    preload: 'auto',  // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
                    language: 'zh-CN',
                    aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
                    fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。

                    sources: [{ // 播放资源和资源格式
                      type: "video/mp4",
                      src: ' ' //你的视频地址(先为空,之后动态赋值)
                    }],

                    poster: "../../static/images/img10.jpg", //视频封面图
                    document.documentElement.clientWidth, // 默认视频全屏时的最大宽度
                    notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。
                  },
                }
            },

    此处时methods方法中的函数

    下面的方法是另一个页面点击响应视频跳到这个网页,这个页面接收到参数id并根据id从后端提取视频的url

    get_num(){
                  this.num = this.$route.params.id;
                  if(this.num==='521'){
                      this.url = 'http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4'
                  }else{
                       this.$axios.get(`${this.$settings.HOST}/planes/repair/${this.num}`,
                     ).then(response => {

          #响应成功的数据中提取url赋值给变量url
                        this.url = "http://api.planecity.cn:8000"+ response.data['repair_video'];

          #将url赋值给src

          this.playerOptions['sources'][0]['src'] = this.url; 

                        console.log(this.url)
                    }).catch(error => {
                        console.log(error);
                        console.log('对不起维修信息获取失败')
                    })
                  }
                  return this.num;
                },

      

  • 相关阅读:
    Cypher 语句实战
    springboot2.0-统一处理返回结果和异常情况
    IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
    Dripicons – 精美的扁平风格的免费矢量图标字体
    实用手册:130+ 提高开发效率的 vim 常用命令
    RulersGuides.js – 网站中实现 Photoshop 标尺效果
    分享27款最佳的复古风格 WordPress 主题
    Web 开发人员必备的12款 Chrome 扩展程序
    酷站欣赏:20个精美的国外扁平化网页设计作品
    编码神器——Sublime Text 包管理工具及扩展大全
  • 原文地址:https://www.cnblogs.com/caiwenjun/p/11815748.html
Copyright © 2011-2022 走看看