2019独角兽企业重金招聘Python工程师标准>>>

做H5手机端的视频播放器,在期间发现了很多问题,哈哈,也是在不断摸索中成长,废话不多说,放代码:

<template><div class="videoBoxDiv"><video :id="palyId" controls="controls" v-show="isVideoShow"@play="videoPlay()"@canplay="videoCanPlay()"@ended="endVideo()"playsinlinex5-video-player-type='h5'x-webkit-airplay="true"webkit-playsinline="true"><source :src="videoUrl" ></video><img v-show="isCanPlay && !isVideoShow " @click="palyVideo()" class="play" src="../../assets/img/palyBtn.png"/><img v-show="!isVideoShow" class="loadImg" :src="loadImgUrl"/></div>
</template><script>export default {name: 'video-play',props: {videoUrl: {type: String,defalut: ''},loadImgUrl: {type: String,defalut: ''},palyId: {type: String,defalut: ''}},data () {return {isVideoShow: false,isStop: false,isCanPlay: false}},mounted () {this.$nextTick(function () {this.videoCanPlay()})},methods: {palyVideo () {let videoId = this.palyIdlet vdo = document.getElementById(videoId)this.isVideoShow = truevdo.play()this.isStop = false},endVideo () {this.isVideoShow = false},videoPlay () {this.isStop = false},videoCanPlay () {this.isCanPlay = true}}}
</script><style lang="less" scoped>.videoBoxDiv{height: 600px;display: flex;justify-content: center;align-items: center;background: #000;margin-bottom: 20px;position: relative;video{max-width: 99.9%;max-height: 100%;background: #000;source{z-index: 1;}}.play{width: 120px;height: 120px;position: absolute;left: 50%;top: 50%;margin-left: -60px;margin-top: -60px;}.loadImg{max-width: 100%;max-height: 100%;}}
</style>

将播放器做成了组件,方便调用,用了mounted钩子函数来监控视频是否能播放,但是发现在Android手机上好像也没什么效果,依然是在点击播放play() 后再加载的视频。

在Android端的微信和浏览器中的播放效果也是不一样的,在微信中依然是点击进去全屏播放,而且播放完了还有其他的广告出来,看了资料,发现原来是因为腾讯对video做了处理。

在Android的微信端在滚动的同时,video也会出现浮动的现象,使用了x5-video-player-type='h5'这个属性后有改善,没有浮动了,但是微信端的播放也出现了点击进去是全屏,但是播放的范围却减少了和多。

playsinline 和 webkit-playsinline="true" 属性是为了IOS能非全屏播放。

问题还在解决中。。。。。哈哈,对video研究还不是很深,自己挖的坑还是有点多的,如果有大佬有解决方案,欢迎留言

还发现相同的视频加载了几个的时候,第一个播放了-暂停,第二个播的时候会接着第一个暂停的点继续播放。

ps: 找到了一篇有关video属性的文章,

转载于:https://my.oschina.net/tianyuqin/blog/1605203

基于vue的video播放组件相关推荐

  1. value数字 vue_基于Vue开发数字输入框组件

    随着 vue 越来越火热, 相关组件库也非常多啦, 只用轮子怎么够, 还是要造起来!!! 1.概述 vue组件开发的api:props.events和slots 2.组件代码 效果: (1)index ...

  2. 实现一个基于Vue的Button小组件

    概述 原生HTML的button只能保证功能存在,样式都不怎么好看.当然也可以通过编写css样式来改变原生HTML中的button显示,但是现在各个UI框架都很流行,也很方便,很多时候都是直接引入框架 ...

  3. vue手机端项目php,MintUI基于Vue.js移动端组件库详解

    Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.接下来通过本文给大家分享Mint UI 基于 Vue.js 移动端组件库,需要的朋友参考下吧,希望能帮助到大家. 官网 ...

  4. vue自定义音频播放组件_易于创建Vue的自定义音频播放器组件

    vue自定义音频播放组件 音频更好 (vue-audio-better) Easy to create custom audio player components for Vue.js. 易于为Vu ...

  5. 基于vue element-ui 封装上传图片组件 功能:上传,删除,预览,上传图片水印,拖拽排序,上传进度条等

    学习目标: 我们在开发后台时肯定避免不了上传图片的功能 例如: 上传图片回显 上传完成 : 预览查看 , 删除等 如果是图片列表,还可能让你拖动图片排序 有的后台项目可能要给图片添加水印,添加标记 有 ...

  6. 说说如何基于 Vue.js 实现表格组件

    我们基于 Vue.js 实现一个可根据某列进行排序的表格组件. 一个表格包含表头和数据两部分内容.因此,我们定义两个数组,columns 表示表头信息,在 <thread> 中渲染,并可在 ...

  7. 基于vue的公共looploading组件(vue循环加载--组件)

    前些天做的组件,觉得挺有意思,上传到了github上 https://github.com/SwnCowDevil/my-looploading 说明:    一款基于vue的循环加载公共组件, 组件 ...

  8. vue 改变domclass_基于 vue 开发甘特图组件的心路历程(兼设计分享)

    语雀原文 有更好的排版体验~ 这篇文章主要讲述笔者开发 v-gantt 甘特图组件的经过. 起源 公司项目有个甘特图的需求. 笔者考察了世面上 常见的甘特图组件 后,本着 我上我也行 的心态,以及考虑 ...

  9. 基于Vue开发一个日历组件

    最近在做一个类似课程表的需求,需要自制一个日历来支持功能及展现,就顺便研究一下应该怎么开发日历组件. 更新 2.23修复了2026年2月份会渲染多一行的bug,谢谢@深蓝一人童鞋提出的bug,解决方案 ...

最新文章

  1. 0x6A.图论 - 网络流初步
  2. 深入分析Java Web技术内幕(二)
  3. java 实现获取支付宝授权获取会员信息
  4. Effective C++ 笔记(1):视C++为语言联邦
  5. IDEA手动导入jar包
  6. 答网友问:如果用 OData 就能直接和 SAP 系统互通,BTP 和 CPI 这样的平台意义在哪里呢?
  7. linux 拆分文件 多个,linux – 如何拆分文件并保留每个部分的第...
  8. cmake编译opencv3.0
  9. 网络安装centos5.4
  10. 如何解决ValueError: unknown is not supported
  11. 读书随笔:The Book of Why——CHAPTER 4~10
  12. 数学_一文搞懂极大似然估计
  13. Ubuntu下设置Pycharm/unity的桌面快捷方式
  14. C# ILDASM 使用
  15. mysql like 匹配排序,MySQL 基于like的模糊查询 并根据查询的匹配度排序
  16. JavaScript 中阶 打地鼠游戏(基础版)
  17. WEBI上取月的整周
  18. matlab2020a安装完多大_Matlab2020a
  19. 运动员(射击)的成绩可以用脑电技术预测吗?
  20. Parse error: syntax error, unexpected ''解决办法

热门文章

  1. Flutter学习之纵向布局
  2. 游戏项目中观察者模式解析
  3. SVD(6.5.1定理证明观察3)
  4. 23种设计模式[1]:单例模式
  5. 软件需求模式阅读笔记三
  6. 将数字n转换为字符串并保存到s中
  7. 从高中生活步入大学生活
  8. Windows下安装配置Maven
  9. java判断两个日期相差天数
  10. C# Tailor Your Application by Building a Custom Forms Designer with .NET