feat(vap播放组件): 加了一层底层 video 强制设置:显式写入 video.playsInline = true、playsinline、webkit-playsinline、x5-playsinline
This commit is contained in:
parent
287e48174e
commit
082d973f13
@ -96,6 +96,27 @@ let playToken = 0
|
|||||||
const teleportToBody = computed(() => props.mode === 'overlay')
|
const teleportToBody = computed(() => props.mode === 'overlay')
|
||||||
const resolvedSrc = computed(() => resolveProtectedAssetUrl(props.src))
|
const resolvedSrc = computed(() => resolveProtectedAssetUrl(props.src))
|
||||||
|
|
||||||
|
function enforceVideoPlaybackAttributes(video, shouldMute) {
|
||||||
|
if (!video) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
video.playsInline = true
|
||||||
|
video.setAttribute('playsinline', '')
|
||||||
|
video.setAttribute('webkit-playsinline', '')
|
||||||
|
video.setAttribute('x5-playsinline', '')
|
||||||
|
|
||||||
|
if (shouldMute) {
|
||||||
|
video.muted = true
|
||||||
|
video.defaultMuted = true
|
||||||
|
video.volume = 0
|
||||||
|
video.setAttribute('muted', '')
|
||||||
|
} else {
|
||||||
|
video.defaultMuted = false
|
||||||
|
video.removeAttribute('muted')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function destroyPlayer() {
|
function destroyPlayer() {
|
||||||
if (player) {
|
if (player) {
|
||||||
player.destroy()
|
player.destroy()
|
||||||
@ -177,6 +198,14 @@ async function startPlay() {
|
|||||||
...props.vapData,
|
...props.vapData,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
enforceVideoPlaybackAttributes(player?.video, props.mute)
|
||||||
|
player?.video?.addEventListener('loadedmetadata', () => {
|
||||||
|
enforceVideoPlaybackAttributes(player?.video, props.mute)
|
||||||
|
})
|
||||||
|
player?.video?.addEventListener('canplay', () => {
|
||||||
|
enforceVideoPlaybackAttributes(player?.video, props.mute)
|
||||||
|
})
|
||||||
|
|
||||||
player.on('ended', handleEnded)
|
player.on('ended', handleEnded)
|
||||||
player.on('playing', () => {
|
player.on('playing', () => {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user