Я настроил плеер для галерей товаров, которые включают в себя как изображения, так и видео.Я использую Azure Media Player, который используется в коде, как показано ниже:
//azure media player settings for video
var myOptions = {
"nativeControlsForTouch": false,
controls: true,
autoplay: true,
width: "640",
height: "400"
}
//player for lightgallery popup
var galleryVideoPlayer = document.getElementById("videoA");
if (galleryVideoPlayer) {
alert('PLAYING NOW!');
var myPlayer = amp('videoA', { myOptions },
function () {
this.play();
});
}
При нажатии на миниатюру видео он высвечивает галерею с видео, успешно воспроизводящим фон при первом нажатии.Но когда я закрыл всплывающее окно и снова щелкнул по миниатюре, всплывающее окно снова появляется, но видео не воспроизводится и не может сгенерировать необходимые теги HTML для Azure Media Player.Тогда он содержит только видео тег.Похоже, видеопроигрыватель воспроизводится только один раз ...
Как заставить видео воспроизводиться при каждом нажатии?Я уже прикрепил событие к onAfterOpen.lg, как пример, приведенный здесь , но, похоже, он вообще не работает.
Я проверил документацию по API lightgallery и использовал некоторые пользовательские события, такие как onAfterOpen.LG и т. д.
lg.on('onAfterOpen.lg', function (event, index) {
console.log('onAfterOpen');
//azure media player settings for video
var myOptions = {
"nativeControlsForTouch": false,
controls: true,
autoplay: true,
width: "640",
height: "400"
}
//player for lightgallery popup
var galleryVideoPlayer = document.getElementById("videoA");
if (galleryVideoPlayer) {
alert('PLAYING NOW!');
event.preventDefault();
var myPlayer = amp('videoA', { myOptions },
function () {
this.play();
});
}
});
Я ожидал показывать видео каждый раз, когда нажимал на миниатюру.Но это работает только с первого клика.Когда я нажимаю, и всплывающее окно открывается во второй раз, видео не воспроизводится.