Spela upp mapp med HTML5-video, loopa i all evighet?
Senast redigerat
Hej,
Har ett script som gör att jag kan lägga mp4-filer döpta till video1.mp4 video2.mp4 och så vidare i en mapp, och detta autoplayas på hemsidan.
Problemet är att jag vill loopa alla dessa filer i mappen för alltid. Så när sista klipper är spelat så börjar den på nummer 1 igen.
Skriver jag loop under <video så loopar bara första klippet.
<video id="video" width="100%" autoplay onended="run()">
<source src="video/video1.mp4" type='video/mp4'/>
</video>
<script type='text/javascript'>
video_count =1;
videoPlayer = document.getElementById("video");
function run(){
video_count++;
if (video_count == 4) video_count = 1;
var nextVideo = "video/video"+video_count+".mp4";
videoPlayer.src = nextVideo;
videoPlayer.play();
videoPlayer.loop();
};
</script>
Hur gör jag?
Tack!
Hej,
Har ett script som gör att jag kan lägga mp4-filer döpta till video1.mp4 video2.mp4 och så vidare i en mapp, och detta autoplayas på hemsidan.
Problemet är att jag vill loopa alla dessa filer i mappen för alltid. Så när sista klipper är spelat så börjar den på nummer 1 igen.
Skriver jag loop under <video så loopar bara första klippet.
<video id="video" width="100%" autoplay onended="run()">
<source src="video/video1.mp4" type='video/mp4'/>
</video>
<script type='text/javascript'>
video_count =1;
videoPlayer = document.getElementById("video");
function run(){
video_count++;
if (video_count == 4) video_count = 1;
var nextVideo = "video/video"+video_count+".mp4";
videoPlayer.src = nextVideo;
videoPlayer.play();
videoPlayer.loop();
};
</script>
Hur gör jag?
Tack!
Ett alternativ är att räkna ut numret på videon med modulo.
Ha videosarna som 0,1,2,3
Så PlayVideo = video_count % 4 om du har 4 videos.
Video_count : PlayVideo
1:1
2:2
3:3
4:0
5:1
6:2
7:3
8:0
Osv osv
Ett alternativ är att räkna ut numret på videon med modulo.
Ha videosarna som 0,1,2,3
Så PlayVideo = video_count % 4 om du har 4 videos.
Video_count : PlayVideo
1:1
2:2
3:3
4:0
5:1
6:2
7:3
8:0
Osv osv
Oj, den förstår jag inte riktigt?
Finns det inget sätt att bara komplettera det som jag har?
Oj, den förstår jag inte riktigt?
Finns det inget sätt att bara komplettera det som jag har?
Ska förklara lite tydligare
Känner du till modulo? Modulo = rest vid heltalsdivision.
Generellt kan en division beskrivas som a/b = c + r. Där r = rest, Ex du kan inte dela 7/4 och få ett heltal, utan du får c=4 och r=3
r kan anta alla värden från 0 t.om b-1 vilket passar till din tillämpning.
Så i ett fall med fyra videos:
Video 1: 1.mp4
Video 2: 2.mp4
Video 3: 3.mp4
Video 4: 0.mp4
Din tidigare kod
function run(){
video_count++;
if (video_count == 4) video_count = 1;
var nextVideo = "video/video"+video_count+".mp4";
videoPlayer.src = nextVideo;
videoPlayer.play();
videoPlayer.loop();
};
Hur du borde kunna göra
function run(){
video_count++;
var playVideo = video_count % 4;
var nextVideo = "video/video"+playVideo+".mp4";
videoPlayer.src = nextVideo;
videoPlayer.play();
videoPlayer.loop();
};
Det som händer i det första fetstilta:
Loop1: video_count = 1. playVideo = 1 % 4 = 1. nextVideo = video/video1.mp4
Loop2: video_count = 2. playVideo = 2 % 4 = 2. nextVideo = video/video2.mp4
Loop3: video_count = 3. playVideo = 3 % 4 = 3. nextVideo = video/video3.mp4
Loop4: video_count = 4. playVideo = 4 % 4 = 0. nextVideo = video/video0.mp4
Loop5: video_count = 5. playVideo = 5 % 4 = 1. nextVideo = video/video1.mp4
och så fortsätter det så allt eftersom video_count ökar
Note:Vet inte om du ska deklarera playVideo inne i funktionen eller inte.
Dock så måste du justera "4" i detta fall efter antalet videos och byta namn på videon med "0" om ordningen spelar roll när du lägger till fler videos
-------------------------------------------------
EDIT eller så läste jag helt tokigt och ditt egentliga problem är att få metoden att loopa
video_count++;
if (video_count == 4) video_count = 1;
var nextVideo = "video/video"+video_count+".mp4";
Det som händer här, är att du ändrar värdet på video count innan du spelar up den. Så sökvägen kommer att bli "video/video1.mp4" innan video4 har spelats
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.