前端播放视频(满足一般播放条件)
话不多说,先上代码:
以下包含我能做出来可以做出来播放的视频格式(测试ok),可能还有ogg和wmv的格式可以播放,但我没测试通过,所以不展示
if(strT == "video/mp4"||
strT == "video/webm"||
strT == "flv"||
strT == "video/x-matroska"||
strT == "video/quicktime"||
strT == "application/x-shockwave-flash"
){}
video标签可播放的视频格式
video标签可播放的视频格式为mp4, ogg
代码:
<video src="XXXXX" controls autoplay></video>
播放.swf文件
<embed src="XXX" controls autoplay>
播放flv文件(这个有点复杂)
这里需要特殊注意,flv文件比较特殊,在video标签需要加上 muted属性,因为音频转码可能会转码失败导致整段视频无法播放.
flv.js是bilibili开发,大致的播放方法是把flv文件转成一小段一小段的mp4格式(再往深处说就是指用代码标记人物动作,而不储存人物图像),
所以占用资源小,加载速度快.但是目前好像没有成熟的前端播放插件(也可能是我孤陋寡闻),本人亲测一般的mp4用格式工厂转成的.flv文件无法播放,但确实有flv文件可以播放.
①, 下载flv.js (我这里是直接引用的)
链接:https://pan.baidu.com/s/1bs87QKSxgkk_VXamKEzTwg
提取码:flvj
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享
普通html直接引入即可
html项目
<script src="flv.js"></script>
vue项目
import flv from'../../../static/js/flv.min.js'
② 初始化video播放器,让其能播放flv文件
vue 和 html都适用:
<video id="videoElementByFlv" class="flvplayer-app" controls autoplay muted></video>
javascript(vue和html都适用)
if(flv.isSupported()){
setTimeout(function(){
var videoElement = document.getElementById('videoElementByFlv')
that.flvPlayer = flv.createPlayer({
url:"src",
type: 'flv',
})
that.flvPlayer.attachMediaElement(videoElement)
that.flvPlayer.load()
},200)
}
vue安装vue-aplayer
①,下载安装
npm install vue-aplayer –save
②, 引入
import Aplayer from 'vue-aplayer'
components: {Aplayer}
③, html中注册元素
<video-player class="video-player vjs-custom-skin"
ref="videoPlayer"
:playsinline="true"
:options="playerOptions"
></video-player>
④, js中定义
playerOptions:{
playbackRates: [0.7, 1.0, 1.5, 2.0],
autoplay: false,
muted: false,
loop: false,
preload: 'auto',
language: 'zh-CN',
aspectRatio: '16:9',
fluid: true,
sources: [{
type: "video/mp4",
src: "XXXXXXXXXXXXXXXXXXXXXXX",
}],
poster: "",
notSupportedMessage: '此视频暂无法播放,请稍后再试',
controlBar: {
timeDivider: true,
durationDisplay: true,
remainingTimeDisplay: false,
fullscreenToggle: true
}
},
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)