Воспроизвести видео html 5 при помощи jquery
Есть код:
<div class="owl-item active"> <div class="scrollflow -slide-top s22"> <div class="video_block video_block3 ani2"> <video id="video_slays140" width="100%" preload="metadata" class="scrollflow -slide-top -opacity" loop playsinline> <source src="https://kulibinstudio.com/image/catalog/video/Mob/video0002.mp4" type="video/mp4;codecs="avc1.42E01E, mp4a.40.2""> </video> </div> </div> </div> let block_show140 = null; let video140 = $("#video_slays140"); $(window).scroll(function(){ scro_play140(); }); function scro_play140() { let wt = $(window).scrollTop(); let wh = $(window).height(); let et140 = $('#video_slays140').offset().top; let eh140 = $('#video_slays140').outerHeight(); if (wt + wh >= et140 && wt + wh - eh140 * 2 <= et140 + (wh - eh140)){ if (block_show140 == null || block_show140 == false) { video140.pause(); } block_show140 = true; } else { if (block_show140 == null || block_show140 == true) { video140.play(); } block_show140 = false; } } его суть: при прокрутке к элементу происходит событие. все отлично работает. проблема: но видео не запускается. консоль гугла пишет: Uncaught TypeError: video140.play is not a function скрин: http://joxi.ru/52apWXWUgBnqQm |
StartGames,
video140 у вас это объект jquery, у этого объекта нет никаких play. вам нужен сам элемент, в объекте он хранится под индексом ноль. video140[0].pause(); video140[0].play(); |
спасибо, вы совершенно правы)
|
спасибо еще раз, но не подскажите как включить или отключить звук?
пробовал так: video140[0].unmuted(); и так: video140[0].muted(); не помогает. |
StartGames,
video140[0].muted = false; video140[0].muted = true; |
ого как все просто то))
Но к сожалению после такого получил ошибки: http://joxi.ru/bmoKyRyH7k5PYm (index):4091 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD |
StartGames,
при отсутствии на странице живого юзера играть ничего не будет!!! |
Цитата:
|
StartGames,
автоматом звук и видио запрещены, пока по странице не кликнут или ещё как-то произведут событие на странице руками, а не скриптом. |
StartGames,
SuperZen, про play |
Часовой пояс GMT +3, время: 18:40. |