vscode 远行到浏览器可以正常播放,uniapp一直报错
代码如下
<template>
<div class="home">
<div class="video_box">
<video id="videoElement" controls autoplay muted style="width: 100%;
height:300px;" ref="videos" />
</div>
</div>
</template>
<script>
import flvjs from 'flv.js';
export default {
name: 'Home',
components: {},
data() {
return {};
},
watch: {},
computed: {},
methods: {
haha() {
if (flvjs.isSupported()) {
let videoElements = document.getElementById('videoElement');
let flvPlayer = flvjs.createPlayer({
type: 'flv',
isLive: true,
hasAudio: false,
url: '你的直播地址.flv'
});
flvPlayer.attachMediaElement(videoElements);
flvPlayer.load();
flvPlayer.play();
}
}
},
created() {},
mounted() {
this.haha();
}
};
</script>
<style scoped lang="scss">
.home {
height: 100%;
}
.video_box {
width: 100%;
height: 400px;
}
</style>
总之就是找不到play()这个方法,然后 打印videoElements如下
会发现uniapp的video是他自己封装的 包了两层,那么找到最下面的video标签就行
修改后
let videoElements = document.getElementById('videoElement').firstChild.firstChild;
然后可以正常播放了