HTML5视频播放器动态改变url链接以及无法播放MP4的坑

1.这几天研究视频播放器的相关内容。刚开始参考官网实现html5 中video标签实现MP4播放,确实实现了,不错很高兴。下面是相关代码及效果:

 <video class="video" controls = "true"
       poster="https://photo.mac69.com/180205/18020526/a9yPQozt0g.jpg" preload="auto" webkit-playsinline="true" playsinline="true" x-webkit-airplay="allow" x5-video-player-type="h5" 
       x5-video-player-fullscreen="true" x5-video-orientation="portraint" style="object-fit:fill">
      <source src="../../assets/video/yz.mp4" type="video/mp4">
     </video>

视频播放图例
这里有个问题?source中 src写死了,能应用到项目中吗?显然是不可以的。怎么办呢?vue中的数据绑定中,可以通过:src=“videoUrl” 方式绑定数据。然后,通过 this.videoUrl = '@/assets/video/yz.mp4’方式链接传给src。对的,肯定是可以的,我满怀着信心操作一波。结果视频出不来,懵逼了。。。。
我试着查看改变前后对应的source标签的相关属性,显示到p标签位置。

 <source id="source" :src="videoUrl" type="video/mp4">
 <button class="button" @click="myFunction()">尝试一下</button>
 <p id="demo"></p>
  myFunction(){
    var x = document.getElementById("source").src;
    document.getElementById("demo").innerHTML = x;
}

结果看到了不同,改变前是:http://localhost:8080/static/media/yz.a24a191.mp4,改变后成 http://localhost:8080/static/media/yz.mp4。看来在source标签中还是对src做了某些操作的,暂时不太清楚。
2.经过网上查找找到了解决方案。this.videoUrl = require(’@/assets/video/yz.mp4’)。通过这样赋值, 竟然可以了,
猜想source标签中是不是这么操作的。下面是相关代码和实现效果图:

        <template>
<div>
  <p class="title">点击按钮播放或暂停视频。</p>
  <video id="myVideo" class="video" controls = "true"
    poster="@/assets/video/sea.jpg" preload="auto" webkit-playsinline="true" playsinline="true" x-webkit-airplay="allow" x5-video-player-type="h5" 
    x5-video-player-fullscreen="true" x5-video-orientation="portraint" style="object-fit:fill">
  <source id="source" :src="videoUrl" type="video/mp4">
  </video>

<button class="button" @click="playVid()" type="button">播放视频</button>
<button class="button" @click="pauseVid()" type="button">暂停视频</button> 
<button class="button" @click="myFunction()">尝试一下</button>
<p id="demo"></p>
</div>
</template>

<script>
export default {
  props: [ ],
  data () {
    return {
      video: null,
      videoUrl: ''
    }
  },
  mounted () {
    this.init()
  },
  methods: {
    init(){
     this.video = document.getElementById("myVideo")   
     this.videoUrl = require('@/assets/video/yz.mp4')
    },
    playVid(){ 
	   this.video.play(); 
    } ,
    pauseVid(){ 
	   this.video.pause(); 
    },
    myFunction(){
	    var x = document.getElementById("source").src;
	    document.getElementById("demo").innerHTML = x;
    }
  }
}
</script>

<style scoped lang="stylus">
  .button {
    background-color: #4CAF50; /* Green */
    border: none;
    color: white;
    padding: 9px 16px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
}
.title {
  background-color: #e6a23c;
  line-height: 4;
  text-align: center;
  border-radius: 3%;
  font-size: 18px;
  font-style: normal;
} 
</style>

video动态链接效果图

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
目录: 目录 第1篇 html基础入门篇 第1章 建立首要的、基础的正确认知 1.1 internet和万维网 1.1.1 什么是www(万维网) 1.1.2 w3c是什么 1.2 网页、浏览器、网站和网络服务器 1.2.1 网页和浏览器 1.2.2 不可不知的浏览器发展史 1.2.3 浏览网页 1.2.4 网站和网络服务器 1.3 了解html语言 1.3.1 关于htmlhtml编辑器 1.3.2 创建第一个网页 1.3.3 查看网页的源文件 1.4 html 4.0的特点 1.4.1 国际化 1.4.2 可访问性 1.4.3 表格 1.4.4 混合文档 1.4.5 样式表 . 1.4.6 脚本 1.4.7 打印 1.5 巩固与自测 第2章 html文档的基本结构 2.1 使用dreamweaver创建第一个网页 2.1.1 dreamweaver安装和配置向导 2.1.2 使用dreamweaver创建网页的基本步骤 2.1.3 使用dreamweaver的基本知识 2.2 html文档的基本结构 2.2.1 了解sgml和html的关系 2.2.2 html简要的历史和为何要使用html 2.2.3 html 4.01的版本和文档类型声明 2.2.4 [html][/html]标签对和属性 2.2.5 [head][/head]标签对 2.2.6 [body][/body]标签对 2.3 巩固与自测 第3章 html文档的编写规范 3.1 使用标签、元素和属性 3.1.1 标签 3.1.2 元素 3.1.3 属性的定义 3.1.4 属性值的定义 3.1.5 元素和属性的大小写规范 3.2 字符引用 3.2.1 字符数字引用 3.2.2 字符实体引用 3.3 使用注释 3.4 关于空白和空白字符 3.4.1 关于断行符 3.4.2 空白字符 3.5 基本html数据型式 3.5.1 cdata数据类型 3.5.2 id和name使用的数据类型 3.5.3 idref和idrefs使用的数据类型 3.5.4 number数据类型 3.5.5 文本字符串 3.5.6 使用uri 3.5.7 使用颜色 3.5.8 使用长度 3.5.9 内容类型(mime类型) 3.5.10 语言代码 3.5.11 字符编码 3.5.12 单字符 3.5.13 日期和时间 3.5.14 链接类型 3.5.15 介质描述符 3.5.16 脚本数据 3.5.17 样式表数据 3.5.18 框架目标名 3.6 巩固与自测 第2篇 html详细学习篇 第4章 html文档的头部定义 4.1 定义标题(title元素) 4.2 怎样定义元数据 4.2.1 定义元数据关键字 4.2.2 元数据的语言信息 4.2.3 元数据的其他定义方法 4.3 用于搜索引擎的元数据 4.3.1 定义编辑工具 4.3.2 定义版权信息 4.3.3 定义关键字 4.3.4 定义概要描述 4.3.5 定义设计者 4.3.6 定义创作日期 4.3.7 定义搜索引擎搜索方式 4.4 用于http消息报头的元数据(属性http-equiv) 4.4.1 设置网页内容类型和字符集 4.4.2 设置网页所使用的语言 4.4.3 设置网页定时跳转 4.4.4 设置网页禁用缓存 4.4.5 设置网页到期 4.4.6 设置网页cookie存活时间 4.4.7 设置网页框架目标 4.4.8 设置网页转场效果 4.4.9 设置网页分级 4.5 元数据纲要和元数据架构 4.5.1 使用元数据纲要(profile属性) 4.5.2 使用元数据架构(scheme属性) 4.6 巩固与自测 第5章 文字与段落 5.1 结构化的文本 5.1.1 用于强调的短语元素(em元素、strong元素、cite元素) 5.1.2 用于缩写的短语元素(abbr元素、acronym元素) 5.1.3 其他的短语元素(dfn、code、samp、kbd、var) 5.1.4 引用(blockquote元素、q元素) 5.1.5 下标和上标(sub元素、sup元素) 5.2 行和段落 5.2.1 段落(p元素) 5.2.2 控制换行(br元素) 5.2.3 连字符 5.2.4 预格式化文本(pre元素) 5.2.5 段落的视觉呈现 5.3 标题字体(h#元素) 5.4 标记文档改变:ins和del元素 5.5 基本文字格式(tt、i、b、big、small、strike、s、u) 5.6 字体修改(font、basefont元素) 5.6.1 改变字体大小(size属性) 5.6.2 改变文本颜色(color属性) 5.6.3 改变字体(face属性) 5.7 加入水平分割线(hr元素) 5.7.1 分隔线宽度和高度

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值