JavaScript Error: Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()

我需要一些关于这个javascript代码的帮助:这是页面报告的错误:Uncaught(in promise)DOMException:play()请求被对pause()的调用中断。这是js代码中与之相关的部分:

milano.onmouseover = VideoS;
milano.onmouseout = VideoF;
parigi.onmouseover = VideoS;
parigi.onmouseout = VideoF;
ny.onmouseover = VideoS;
ny.onmouseout = VideoF;
londra.onmouseover = VideoS;
londra.onmouseout = VideoF;
function VideoS() {
    switch (this.id) {
        case 'milano':
            video3.play();
            break
        case 'parigi':
            video4.play();
            break
        case 'ny':
            video5.play();
            break
        case 'londra':
            video6.play();
    }
}
function VideoF() {
    switch (this.id) {
        case 'milano':
            video3.pause();
            video3.currentTime = 0;
            break
        case 'parigi':
            video4.pause();
            video4.currentTime = 0;
            break
        case 'ny':
            video5.pause();
            video5.currentTime = 0;
            break
        case 'londra':
            video6.pause();
            video6.currentTime = 0;
    }
}

这些函数工作得很好,做了它们应该做的事情,但当我查看这些包含视频的div时出现的错误,我希望没有办法修复它?我注意到,用onclick替换onmouseover不会出现错误,但我想保持onmousever的交互性

回答
B
Bernadette Zemlak V
3周前

在调用play()之前,您可以通过检查视频是否已经在播放来修复它。

function VideoS() {
    switch (this.id) {
        case 'milano':
            if (video3.paused) {
                video3.play();
            }
            break;
        case 'parigi':
            if (video4.paused) {
                video4.play();
            }
            break;
        case 'ny':
            if (video5.paused) {
                video5.play();
            }
            break;
        case 'londra':
            if (video6.paused) {
                video6.play();
            }
            break;
    }
}