Video js requestPictureInPicture () работает только один раз при прокрутке вверх и вниз - PullRequest
0 голосов
/ 13 марта 2020

Я использую Видео js Framework для показа видео на странице, но есть проблема с функциональностью PictureInPicture. Я пытаюсь go в режиме PictureInPicture автоматически, когда пользователь выполняет прокрутку вниз, и снова, когда пользователь выполняет прокрутку вверх (обратно к фактическому видеопроигрывателю), из режима PictureInPicture.
При первой прокрутке вниз и вверх все работает , но любая попытка после этого не удалась.
Вот ручка для моего кода: https://codepen.io/madefortestonly/pen/GRJxMya?editors=1011
Это сообщение об ошибке, которое я получил из блока catch:

DOMException: Failed to execute 'requestPictureInPicture' on 'HTMLVideoElement': Must be handling a user gesture if there isn't already an element in Picture-in-Picture.
at Html5.requestPictureInPicture (https://vjs.zencdn.net/7.6.6/video.js:22669:23)
at Player.techGet_ (https://vjs.zencdn.net/7.6.6/video.js:26085:34)
at Player.requestPictureInPicture (https://vjs.zencdn.net/7.6.6/video.js:26787:21)
at Player.<anonymous> (pen.js:75:16)
at https://vjs.zencdn.net/7.6.6/video.js:4530:9

Кстати, у кого-то, похоже, была точно такая же проблема, как у меня здесь:
Почему video.requestPictureInPicture () работает только один раз?
Похоже, вам нужно нажать на страница для прокрутки, чтобы работать для следующих попыток, потому что прокрутка не является частью событий, которым доверяют пользователи.
Я пытался смоделировать щелчок с помощью javascript при прокрутке вверх, но пока безуспешно.

Как я могу исправить свой код на автоматической go PictureInPicture назад и вперед при прокрутке, не сообщая пользователю, что ему нужно щелкнуть где-нибудь на странице?

1 Ответ

1 голос
/ 16 марта 2020

Вы не можете обойти это, поскольку вы не можете подделать взаимодействие с пользователем. Альтернативная реализация, такая как изменение размера и перемещение плеера на странице, может быть лучшим вариантом для вашего случая использования, чем встроенный в браузер PinP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...