vue加载m3u8视频格式(手机端)
vue加载视频的方式有很多,但是想找到合适自己的很难,今天就给大家分享下vue手机端加载m3u8格式的视频文件,废话不多说,直接上码:
第一步:npm install vue-video-player --save
第二步:在main.js中引入:如下代码
import VideoPlayer from 'vue-video-player'
require ('vue-video-palyer/node-modules/video.js/dist/video-js.css')
const hls = require('vidojs-contrib-hls')
Vue.use(hls)
第三步:在需要加载视频的页面添加如下代码
<video-player class="video-player vjs-customer-skin"
ref="videoPlayer"
:playsinline="true"
:options="playerOptions"
>
</video-player>
//在vue的data中添加options对象 格式如下
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: "application/x-mpegURL",//如果视频格式是m3u8格式,需要添加该类型
src: "" //url地址
}],
poster: "../../static/images/test.jpg", //你的封面地址
// width: document.documentElement.clientWidth, //播放器宽度
notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。
controlBar: {
timeDivider: true,
durationDisplay: true,
remainingTimeDisplay: false,
fullscreenToggle: true //全屏按钮
}
}
第四步:在请求的接口中进行赋值操作 ,赋值给playerOptions.sources[0].src
关注点:在playerOptions的type需要设置视频的格式,如果样式有问题,需要在node-module中找到对应的插件进行修改样式,也可以重新自己修改样式优先级,覆盖插件的样式
以上,就是关于vue手机端播放m3u8格式视频的所有步骤,如有疑问或者不足的地方,欢迎留言评论,感谢!