Ok, yes, the original code I gave you was not good for mobile devices.
Try this one instead – again, paste into “Custom Liquid” section in Product page template:
<script>
window.addEventListener('load', ()=>{
const mgs = document.querySelectorAll('media-gallery');
const MG = customElements.get('media-gallery');
if (!MG) return;
function playActiveMedia(activeItem) {
window.pauseAllMedia();
const deferredMedia = activeItem.querySelector('.deferred-media');
if (deferredMedia) deferredMedia.loadContent(false);
let v = activeItem.querySelector('video');
if (v && v.played.length > 0) v.play();
}
function mainSlideChanged(event) {
this.playActiveMedia(event.detail.currentElement);
}
MG.prototype.playActiveMedia = playActiveMedia;
mgs.forEach( e => {
e.elements.viewer.addEventListener("slideChanged", debounce( mainSlideChanged.bind(e), 250));
});
});
</script>
<style>
.product__modal-opener--video {
display: none !important;
}
deferred-media.deferred-media.media.media--transparent {
display: block;
}
</style>
Seems to be working in my test store: Vodka Cruiser Black Guava 275mL 4-pack – BBK Market