最近一个项目中需要在微信中播放m3u8格式的视频,刚开始用了 vue-video-player 这个插件,在IOS手机体验良好,本以为完事了, 结果安卓手机一点播放就自动全屏,心态略崩。查了资料说是安卓微信浏览器是X5内核与IOS的不同。折腾了好半天还是解决不了,心态已蹦。于是狠下心换个插件,便找到了video.js,港真,简直完美。

1、首先安装,在你的vue项目中

npm install --save video.js
npm install --save videojs-contrib-hls

2、在你需播放视频的页面中

import 'video.js/dist/video-js.css'
import videojs from 'video.js'
import 'videojs-contrib-hls'

3、HTML 如下:

<video id="my-video" class="video-js vjs-big-play-centered  vjs-default-skin" controls="" preload="none" x5-playsinline="" playsinline="" webkit-playsinline="" poster="" x-webkit-airplay="allow" >
<source :src="tvPlayUrl" type="application/x-mpegURL">
</video>

注:上面红色的class是让播放按钮居中,默认是在左上方。

4、在 mounted 中设置一下中文,不然出错时提示英文不够友好

//videojs设置中文

videojs.addLanguage('zh-CN', {
"You aborted the media playback": "视频播放被终止",
"A network error caused the media download to fail part-way.": "网络错误导致视频下载中途失败。",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "视频因格式不支持或者服务器或网络的问题无法加载。",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "由于视频文件损坏或是该视频使用了你的浏览器不支持的功能,播放终止。",
"No compatible source was found for this media.": "无法找到此视频兼容的源。",
});

5、因为本人的地址是异步获取,所以在取得地址后:

var newUrl =‘假装我是个M3U8的视频地址‘;

_this.tvPlayUrl=newUrl; //给source的src赋值

var myPlayer = videojs('my-video', {
     bigPlayButton: true, //是否显示播放按钮(这个播放按钮默认会再左上方,需用CSS设置居中)
     textTrackDisplay: true,
     posterImage: true,
     errorDisplay: true,
     controlBar: true,
     autoplay:true,//这个说是自动播放,但是本人使用无效
     controls: true,
}, function () {
this.play()
})

myPlayer.src(newUrl);
myPlayer.load(newUrl);

以上就可以了,播放m3u8格式的视频,亲测安卓、IOS手机完美兼容且不会自动全屏。

最新文章

  1. 用datagrid实现完整的一个页面
  2. 【转】Eclipse 常用快捷键 (动画讲解)
  3. C语言基础学习基本数据类型-Char类型
  4. 设计模式(5)--Builder(建造模式)--创建型
  5. Android_简易的短信发送器
  6. 关于Java的移位运算符
  7. MinHash 原理
  8. Visual C++ 6.0中if的简单用法
  9. Python的基础语法(二)
  10. 树莓派mariadb折腾
  11. 判断是手机请求还是pc请求
  12. sql 语句的先后执行顺序
  13. 本地连接服务器的mongodb
  14. 《算法》第二章部分程序 part 2
  15. git第一节----git config配置
  16. git如何回滚当前修改的内容?
  17. Debugging and performance,ETW
  18. PostgreSQL查询数据(连接查询和子查询)
  19. Win10 mysql容器启动命令
  20. BZOJ1407 NOI2002 Savage 【Exgcd】

热门文章

  1. jstack调试core文件
  2. Photo2
  3. Ubuntu 安装phpmyadmin 和配置
  4. CentOS7 下 安装 supervisor
  5. mysql元数据查询
  6. java中super的用法
  7. Memory Analysis Part 1 – Obtaining a Java Heapdump
  8. await Task传异步Lambda问题
  9. cocos2dx conversion to dalvik format failed
  10. Linux常用开发指令