[英]How to keep video on html5 playing when clicked on video element
我正在嘗試創建簡單的視頻會議,我只想在屏幕共享視頻元素上生成全屏功能,我想禁用所有其他控件,如音量、靜音、搜索、播放、暫停和圖片中的圖片。
我已經成功隱藏(音量,靜音,搜索,播放,暫停和圖片中的圖片) [不確定是否有辦法禁用該功能]並且只有可用的全屏按鈕。
並且我創建了簡單的事件eventlistener
以在我單擊視頻元素時保持視頻播放並防止暫停。
videoScreen.addEventListener('click', () => {
videoScreen.play()
})
但是當我點擊視頻元素時,我的視頻會凍結。
這是我創建視頻元素的代碼
const videoGrid = document.getElementById('videoShareScreen')
const screenOwner = document.createElement('span')
screenOwner.innerHTML = `${this.shareScreen.userName}'s Screen`
videoGrid.appendChild(screenOwner)
const videoScreen = document.createElement('video')
videoScreen.className = `screen-video screen-${this.shareScreen.userID}`
videoScreen.srcObject = this.shareScreen.stream
videoScreen.muted = true
videoScreen.controls = true
videoScreen.disablePictureInPicture = true
videoScreen.addEventListener('loadedmetadata', () => {
videoScreen.play()
})
videoScreen.addEventListener('click', () => {
videoScreen.play()
})
videoGrid.appendChild(videoScreen)
僅供參考:我正在使用vueJS
您必須禁用controls
,然后添加一些可以單擊以進入全屏的圖像(圖標)或文本。 如果您使用過以下內容,則無法避免在單擊視頻時自動暫停:
"videoScreen.controls = true".
你必須使用
videoScreen.setAttribute("onclick", "myFunction()" ); //vueJS is.. videoScreen.onclick = myFunction() ..?
或者
videoScreen.addEventListener("click", myFunction );
其中myFunction
看起來像(示例):
function myFunction()
{
videoScreen.play();
alert("you clicked on video");
}
下面是一些基本的 HTML5 代碼來測試,然后將類似的邏輯應用到你的 Vue JS 項目中:
<html>
<body>
<video id="myVid" width="500" height="400">
<source src="somefile.mp4" type="video/mp4">
</video>
<script>
var videoScreen = document.getElementById('myVid');
videoScreen.addEventListener("click", myFunction );
function myFunction()
{
videoScreen.play();
alert("you clicked on video");
}
</script>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.