A video playback component receives the video URL from the parent component and gives this URL to the src of the video tag when the play button is clicked. An error message appears saying that this resource is not available, which seems to be what it means, but when inspecting the element, I find that the src attribute of the video tag already has the desired video address. Below is my code:
<template>
<p id="vedioComponent">
<video id="vdo" webkit-playsinline playsinline controls v-show="isVdoShow" :src="reciveVideoUrl"></video>
<img id="poster" v-show="isPosterShow" :src="posterUrl" alt="">
<img id="loading" v-show="isLoadingShow" src="https://hybrid.xiaoying.tv/web/active/krFAQ/static/imgs/load.gif" alt="">
<img @click="play()" id="playBtn" v-show="isPlayBtnShow" src="https://hybrid.xiaoying.tv/web/active/krFAQ/static/imgs/playBtn.png" alt="">
</p>
</template>
<script>
export default {
props: [ 'videoUrl', 'posterUrl' ],
data () {
return {
isVdoShow: false,
isPosterShow: true,
isLoadingShow: false,
isPlayBtnShow: true,
reciveVideoUrl: ''
}
},
mounted () {
// 給視頻容器設(shè)置高
var screenW = window.screen.width
document.getElementById('vedioComponent').style.height = screenW + 'px'
// 添加可播放事件
var vdo = document.getElementById('vdo')
vdo.addEventListener('canplay', function () {
console.log(1)
this.isVdoShow = true
this.isLoadingShow = false
this.isPosterShow = false
})
},
methods: {
// 點(diǎn)擊播放按鈕播放視屏
play: function () {
this.reciveVideoUrl = this.videoUrl // 獲取視頻url
var vdo = document.getElementById('vdo')
vdo.play()
this.isLoadingShow = true
this.isPlayBtnShow = false
}
}
}
</script>
Here is the error message: Uncaught (in promise) DOMException: The element has no supported sources.
Is this what is the reason