Leg med styringerne af din video og oplev, hvordan du effektivt kan ændre afspilningspositionen. I denne vejledning vil du lære, hvordan du via currentTime-parameteren i React kan styre positionen af en video. Fokus er på implementering af en Range Slider, der gør det muligt at navigere mellem forskellige tidspunkter af en video via en simpel brugergrænseflade. Lad os komme i gang!

Vigtigste erkendelser

  • Videoelementets currentTime-parameter styrer afspilningspositionen.
  • En Range Slider kan anvendes for at skabe en visuel og interaktiv styring af videospositionen.
  • For at have præcis kontrol over positionen, bør du benytte procentdelen mellem den aktuelle afspilningstilstand og videoens længde.
  • Events som onTimeUpdate er afgørende for dynamisk opdatering af brugergrænsefladen.

Trin-for-trin guide

Trin 1: Opsætning af Range Slider

Start med at implementere en Range Slider. Denne slider vil tillade dig at styre videoens position. Kopier grundstrukturen af din slider og tilpas attributterne min og max for at vise værdier svarende til videoens længde.

Interaktiv video-styring i React med en slider

Trin 2: Definer currentTime

Attributtet currentTime gemmer den aktuelle afspilningsposition af videoen i sekunder. Dette er nøglen til at styre, hvor i videoen du befinder dig. Initialiser det sådan, at afspilningspositionen sættes til starten af videoen.

Interaktiv video-styring i React med skyder

Trin 3: Opret en tilstand for positionen

Du skal oprette en ny tilstand for videoens position. I vores tilfælde kan du bare kalde den for position, hvor startværdien er 0. Dette repræsenterer begyndelsen af videoen, altså 0% afspilning.

Interaktiv video-styring i React med skyder

Trin 4: Opdater sliderens position

Med den nye tilstand er det vigtigt at opdatere sliderens værdi faktisk afhængigt af positionen i videoen. Sæt sliderens værdi, så den forbliver synkroniseret med den aktuelle position.

Interaktiv video styring i React med slider

Trin 5: Implementer varigheden

For at vide, hvor stor en procentdel af videoen, der allerede er afspillet, skal du fange den samlede varighed af videoen. Du kan opnå dette ved at benytte duration-attributten på videoelementet. Multiplicer den aktuelt indstillede position med videoens samlede varighed.

Interaktiv video-styring i React med slider

Trin 6: Tilføj event listener for tidsopdatering

For at sikre, at sliderens position også opdateres, når videoen afspilles, skal du tilføje en event listener for onTimeUpdate til videoelementet. Denne lytter vil spørge om den aktuelle tid i hvert tidsinterval og opdatere slideren derefter.

Interaktiv video-styring i React med slider

Trin 7: Fejlhåndtering for ubestemte værdier

Det er vigtigt at sikre, at currentTime-værdien er defineret og at videoens varighed er tilgængelig, før du fortsætter med beregningen. Tilføj logik til at håndtere mulige starttilstande for videoen.

Interaktiv video styring i React med slider

Trin 8: Afrunding og formatering af tid

Det er optimalt at runde tiden, der vises, til hele sekunder. Denne forbedring sikrer, at brugergrænsefladen forbliver ren og brugervenlig. Brug Math.round()-funktionen til at formatere værdierne passende.

Interaktiv video styring i React med skyder

Trin 9: Levendetest af funktionalitet

Efter at du har udført alle disse trin, genindlæs projektet og test slideren. Sørg for, at videosporets position kan justeres i begge retninger, og kontroller, om tiden opdateres korrekt.

Interaktiv video styring i React med slider

Oversigt

Du har nu lært, hvordan du styrer afspilningen af en video i React ved at implementere en effektiv rækkevidde-slider, der dynamisk opdaterer currentTime-egenskaben. På den måde kan du nemt navigere mellem forskellige punkter i videoen.

Ofte stillede spørgsmål

Was ist der Unterschied zwischen currentTime und duration?Die currentTime giver den aktuelle afspilningsposition, mens duration beskriver hele længden af videoen.

Hvordan opdaterer jeg sliderens position under afspilning?Tilføj en eventlistener til videosporet, der ved onTimeUpdate spørger om den nuværende tid og opdaterer sliderens status.

Hvordan kan jeg sikre mig, at min slider fungerer korrekt?Sørg for at have implementeret tilstanden i React korrekt. Tjek om currentTime og duration er korrekt defineret.

Kan jeg også bruge slideren til lyd?Ja, princippet er det samme. Du kan anvende de samme teknikker på lydelementer, da de har lignende attributter.