-
Notifications
You must be signed in to change notification settings - Fork 122
Media (Chrome 70 ) Cheatsheet
Mark Kevin Baldemor edited this page Nov 14, 2018
·
3 revisions
button.addEventListener('click', async(event) => {
if (video !== document.pictureInPictureElement)
await video.requestPictureInPicture();
else
await document.exitPictureInPicture()
})let pipWindow
video.addEventListener('enterpictureinpicture', (event) => {
// Video entered Picture-in-Picture
pipWindow = event.pictureInPictureWindow
console.log('Window size is ${pipWindow.width}x${pipWindow.height}')
pipWindow.addEventListener('resize', onPipWindowResize)
})
video.addEventListener('leavepictureinpicture', (event) => {
// Video left Picture-in-Picture
pipWindow.removeEventListener('resize', onPipWindowResize)
})
function onPipWindowResize(event) {
console.log('Window size changed to ${pipWindow.width}x${pipWindow.height}')
}if ('pictureInPictureEnabled' in document) {
// Set button ability depending on whether Picture-in-Picture can be used.
setPipButton()
video.addEventListener('loadedmetadata', setPipButton)
video.addEventListener('emptied', setPipButton)
} else {
// Hide button if Picture-in-Picture is not supported.
togglePipButton.hidden = true
}
function setPipButton() {
togglePipButton.disabled = !document.pictureInPictureEnabled ||
video.disablePictureInPicture ||
(video.readyState == 0)
}video.srcObject = await navigator.mediaDevices.getUserMedia({video:true})
// On button click
await video.requestPictureInPicture()