• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy istnieje możliwość odtworzenia, np. pierwszych 3 minut filmiku, który w całości trwa ok 20 minut?

Object Storage Arubacloud
0 głosów
297 wizyt
pytanie zadane 26 października 2015 w JavaScript przez Krzysiek_34 Mądrala (6,050 p.)

Filmik jest odtwarzany w całości bez problemu. Czy istnieje możliwość odtworzenia, np. pierwszych 3 minut tego filmiku, który w całości trwa ok 20 minut? Po 3 minutach odtwarzanie ma zostać zatrzymane (pause albo definitywny stop). Niestety filmik nie zatrzymuje się po 3 minutach.

Mam taki kod:

<video width="640" height="360" controls>
	<source src="filmik.webm" type="video/webm">
</video>
<script type="text/javascript">
	var video = document.getElementById('video');
		if (video.duration > 180000) video.pause();
</script>

Gdzie w kodzie jest błąd?

3 odpowiedzi

+2 głosów
odpowiedź 26 października 2015 przez writen Nałogowiec (29,060 p.)
wybrane 27 października 2015 przez Krzysiek_34
 
Najlepsza

A co wy tu wyprawiacie?

Wystarczy użyć zdarzenia timeupdate:

video.ontimeupdate = function() {
                if (video.currentTime> 180) {
					video.load();
				}
            };

Dzięki użyciu metody load(), film załaduje się od nowa i będzie można go odtworzyć od początku.

komentarz 26 października 2015 przez Krzysiek_34 Mądrala (6,050 p.)

Ten zapis jest perfekcyjny. Teraz działa jak należy.smiley

Wielkie dzięki, mistrzu.

Pozostałym chłopakom też wielkie dzięki za próbę pomocy i prawie skuteczny efekt.

 

Temat zamknięty.

komentarz 27 października 2015 przez criss Mędrzec (172,590 p.)
Wrzuć witenowi najlepszą odpowiedź, jeśli ci pomógł. Btw, temat nie wygląda na zamknięty :P
+1 głos
odpowiedź 26 października 2015 przez Ivan Maniak (60,650 p.)
edycja 26 października 2015 przez Ivan
<video width="640" height="360" controls id="video">
    <source src="filmik.webm" type="video/webm">
</video>

Może nie dodałeś id do video?

Dodatkowo ty sprawdzasz czy film jest odtwarzany ponad 3 min w momencie wejścia na strone. Musisz znaleźć sposób aby sprawdzić [PODCZAS OGLADANIA] czy film jest już odtwarzany ponad 3 min, a z tym już Ci nie pomogę.

komentarz 26 października 2015 przez Krzysiek_34 Mądrala (6,050 p.)
Dodałem id do video tak jak napisałeś, ale niestety filmik dalej odtwarzany jest w całości.
0 głosów
odpowiedź 26 października 2015 przez Mlody89 Mądrala (6,920 p.)
edycja 26 października 2015 przez Mlody89
A nie powienieneś raczej użyć get ElementsByTagName albo dodać do elementu wideo id="video" a w kodzie js ('video') ?  Edit.Sory nie zauwazyłem że ktoś już na to wpadł :P
komentarz 26 października 2015 przez Krzysiek_34 Mądrala (6,050 p.)

Teraz działa i jest prawie idealnie. smiley

Aktualnie mam taki kod:

<video width="640" height="360" controls id="video">
	<source src="filmik.webm" type="video/webm">
</video>
<script type="text/javascript">
	var video = document.getElementById('video'),
	stop=function()
	{
		if(video.currentTime > 180)
			video.pause();
		setTimeout(stop,1000);
	}
	stop();
</script>

Filmik jest odtwarzany od 00:00:00 - 00:03:00 i zatrzymuje się w formie pauzy, ale gdy następnie wcisnę PLAY - to odtwarza dalszy filmik przez ok 500ms i zatrzymuje się, wcisnę PLAY - odtwarza dalszy filmik przez ok 500ms i zatrzymuje się itd itd.

Już na 95% jest idealnie.smiley

Co należy poprawić w kodzie, aby w momencie odtwarzania 3 minuty, filmik zatrzymał się w formie stopu, a nie pauzy?

Może zamiast video.pause wpisać video.stop?

komentarz 26 października 2015 przez Mlody89 Mądrala (6,920 p.)

Jest tak prawdopodobnie dlatego, że co sekunde jest wywoływana funkcja stop a od trzeciej minuty jest spełniony warunek (video.currentTime > 180), narazie nie wpadłem na nic lepszego niż rozwinięcie warunku czyli

if ( video.currentTime > 180 && video.currentTime < 180.9)

 

komentarz 26 października 2015 przez 0e85dc6eaf Dyskutant (8,840 p.)
Ale co chcesz zrobić, odtwarzać od nowa, kontynuować czy zablokować odtwarzanie?
komentarz 26 października 2015 przez Krzysiek_34 Mądrala (6,050 p.)
Definitywnie zablokować odtwarzanie.
komentarz 26 października 2015 przez 0e85dc6eaf Dyskutant (8,840 p.)

Może dodaj do ifa pod video.pause()

video.addEventListener("play",function(){video.pause();});

 

Podobne pytania

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...