main.js 引入
import VideoPlayer from 'vue-video-player'
import 'video.js/dist/video-js.css'
Vue.use(VideoPlayer)
html
<video-player
class="video-player vjs-custom-skin"
ref="videoPlayer"
:playsinline="true"
:options="playerOptions"
></video-player>
配置
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: [
{
src: 'http://vjs.zencdn.net/v/oceans.mp4',
type: 'video/mp4'
}
],
poster: require('@/assets/home1/sp1.png'), // 你的封面地址
document.documentElement.clientWidth,
notSupportedMessage: '此视频暂无法播放,请稍后再试', // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
controlBar: {
timeDivider: true,
durationDisplay: true,
remainingTimeDisplay: false,
fullscreenToggle: true // 全屏按钮
}
}
报错:
在排查这个问题的时候可以按照以下步骤依次排除原因
1、核实video的url地址是否有误(找了好多地址都是这个错,地址共同点是都是.cn结尾的网址,而cn结尾的网站很难注册,后来换了.net网址,正常播放)
2、核实用户上网地区(有部分地区可能有限制,比如新疆、西藏)
3、核实用户的上网环境,是家庭网络还是公司网络,如果是家庭网络,让用户重启路由器试试。如果是公司网络,让用户问下公司网管是否禁掉相关协议。
4、如无法确定所连网络是否禁止相关协议,可以建议用户用电脑连接手机热点后再尝试播放,如果连接手机热点后能播放,那一定是相关视频协议被禁掉了。
5、有部分朋友出现在安卓手机上可以正常播放,但苹果手机iOS系统上无法播放的情况,经排查,是视频的问题,换一个视频或将视频重新转码就可以了。(总结来自http://www.sunqizheng.com/blog/956.html)