funkcja JS nie uruchamia filmu

0
<script type="text/javascript">
var ile=1189;
var myVideo = document.getElementById("pv_video");
 
			function stoper()
			{
			if ((ile % 20)==0 ) myVideo.play()
			ile--;
			}
 
			function playVid() 
                          { 
                            myVideo.play(); 
			  } 
 
var intervalHandler=setInterval(stoper,1000);
 
 
</script>

Witam. mam problem z tym że funkcja stoper nie uruchamia w ogóle filmu a ma uruchamiać co 20 sekund. Jednakże po uruchomieniu przez "button" i przypisaną mu funkcję playVid film jest odtwarzany a funkcja stoper zaczyna wtedy działać. Skąd taki problem?

1

Nie wiem, czemu nie uruchamia, ale nie wiem też, dlaczego nie ustawisz po prostu setInterval(stoper,20000);

1

Czy konsola pokazuje jakieś błędy?

0

Ten skrypt który, wkleiłeś musi działać. Jeśli działa function playVid(), to i funkcja stoper musi zadziałać.
Dlaczego ta funkcja stoper jest tak dziwnie napisana ?. dokładniej chodzi mi o warunek

var ile=1189;
if ((ile % 20)==0 )

dlaczego nie można było zrobić tak jak pisze:

Freja Draco napisał(a):

dlaczego nie ustawisz po prostu setInterval(stoper,20000);

Ewentualnie, jak już to wartość "ile" ustawić na zero. a w funkcji sort zmienną "ile" zamiast zmniejszać o jeden, to zwiększać ?. Zakładam oczywiście, że ktoś by mógł sobie pomyśleć, że setInterval wykonuj się tylko co sekundę i on nie ma na to wpływu. Co jest mało prawdopodobne. Wygląda mi to na jakąś specjalną obfuskacje. Skąd masz ten kod, że tak zapytam z ciekawości.

0

Dlaczego ten kod jest napisany jakby był 2009 rok? Obecnie wszystkie przeglądarki wspierają es6 a nawet lepiej. Gdybym nawet chciał wspierać użytkowników z jakiegoś smutnego korpo, którzy pracują jeszcze na IE7 to jest Babel.

0

Kod tylko na próbę wzięty z innego skryptu i byle jak przerobiony. Chodzi mi tylko o sam fakt, że funkcja stoper nie uruchamia filmiku a kliknięcie w przycisk i wywołanie funkcji playVid odtwarza filmik. Problem w połowie rozwiązany po dodaniu w html "muted"
```html
<video id="pv_video" width="640" muted="muted">

<source src="/media/files/P14/3505.mp4" type="video/mp4"> Your browser does not support HTML5 video. </video> ``` Czyli chodzi o blokadę autoodtawrzania w przeglądarce? Nie wiem jak zrobić żeby działało z dźwiękiem
1
grxeda2 napisał(a):

Czyli chodzi o blokadę autoodtawrzania w przeglądarce? Nie wiem jak zrobić żeby działało z dźwiękiem

Spekuluję, ale to może być prawidłowa interpretacja. Przeglądarki ostatnio starają się coraz agresywniej blokować autoodtwarzanie.

0

Tak, to jest właściwość przeglądarek. Wymuszone odtwarzanie możesz zrobić reakcji na event użytkownika (np. kliknięcie), a nie możesz zrobić automatycznie. Wiele innych rzeczy jest tak blokowane, np. otwieranie rzeczy w nowej karcie/oknie.

Nie wiem jak zrobić żeby działało z dźwiękiem

Nie da się. Jeżeli wideo generuje hałas to musisz wstawić jakiś przycisk PLAY, żeby zachęcić użytkownika do kliknięcia i to wszystko

1 użytkowników online, w tym zalogowanych: 0, gości: 1