Pause a youtube video from the chrome console after it reaches 3 minutes

Viewed 301

I can pause the video with globalThis.ytPlayerUtilsVideoTagPoolInstance.l[0].pause()

I can get the current time of the video with globalThis.ytPlayerUtilsVideoTagPoolInstance.l[0].currentTime

How do I trigger the pause automatically when the video reaches currentTime > 180 ?

1 Answers

An easy way is polling.

const player = globalThis.ytPlayerUtilsVideoTagPoolInstance.l[0]
setTimeout(function polling() {
    if (player.currentTime < 180) 
        setTimeout(polling, 1000)
    else
        player.pause()
}, 1000)

An alternative way:

const player = globalThis.ytPlayerUtilsVideoTagPoolInstance.l[0]
const timer = setInterval(() => { // no need of named function as no 'async recursion' is needed
    if (player.currentTime >= 180) {
        player.pause()
        clearInterval(timer)
    }
}, 1000)
Related