Table des matières
Masquer les contrôles par défaut et créer des personnaux
Style les commandes avec CSS
Ajouter des fonctionnalités avec JavaScript
Améliorations facultatives
Maison interface Web Tutoriel H5 Comment personnaliser les commandes de lecteur vidéo HTML5

Comment personnaliser les commandes de lecteur vidéo HTML5

Aug 23, 2025 pm 12:23 PM
Commandes personnalisées Vidéo HTML5

Pour personnaliser entièrement les commandes de lecteur vidéo HTML5, vous devez masquer les contrôles par défaut et créer une interface personnalisée avec HTML, CSS et JavaScript; Omettre d'abord l'attribut des contrôles dans la balise vidéo, ajouter des boutons et des curseurs personnalisés, puis définissez de beaux styles via CSS, puis utilisez JavaScript pour implémenter la lecture / la pause, la traînée de progression, l'ajustement du volume et les fonctions en plein écran, et ajouter davantage des fonctions améliorées telles que l'affichage temporel, le statut de chargement, les raccourcis clavier, et pour réaliser une expérience de jeu vidéo qui est cohérente avec le style de site Web et le style de site Web et le style riche.

Comment personnaliser les commandes de lecteur vidéo HTML5

La personnalisation des commandes de lecteur vidéo HTML5 vous donne un contrôle total sur l'apparence et les fonctionnalités de votre interface vidéo. Par défaut, les navigateurs fournissent des contrôles de base, mais les styler directement sont limités. Pour vraiment personnaliser, vous devez masquer les contrôles par défaut et créer le vôtre en utilisant JavaScript et CSS.

Masquer les contrôles par défaut et créer des personnaux

Commencez par supprimer les contrôles par défaut du navigateur et ajouter vos propres éléments d'interface utilisateur:

 <vidéo id = "myvideo" width = "640">
  <source src = "video.mp4" type = "vidéo / mp4">
  Votre navigateur ne prend pas en charge la balise vidéo.
</ vidéo>

<div class = "Custom-Controls">
  <Button id = "playpause"> play </ftont>
  <input type = "range" id = "SeekBar" value = "0">
  <input type = "range" id = "volumebar" min = "0" max = "1" Step = "0,1" value = "1">
  <Button ID = "FullScreen"> FullScreen </futton>
</div>

Dans le HTML, l'attribut controls est omis, donc l'interface utilisateur par défaut n'apparaît pas. Au lieu de cela, des boutons et des curseurs personnalisés sont ajoutés sous la vidéo.

Style les commandes avec CSS

Utilisez CSS pour faire en sorte que les commandes correspondent à la conception de votre site:

 .Custom-Controls {
  Affichage: flex;
  Align-Items: Centre;
  Écart: 10px;
  marge: 10px;
  rembourrage: 10px;
  Contexte: # 333;
  Border-Radius: 0 0 8px 8px;
}

bouton.
  Contexte: # 007BFF;
  Couleur: blanc;
  Border: aucun;
  rembourrage: 8px 12px;
  Border-Radius: 4px;
  curseur: pointeur;
}

Bouton.
  Contexte: # 0056B3;
}

.
  -Webkit-apparence: aucun;
  Largeur: 100px;
  hauteur: 5px;
  Contexte: # 666;
  Aperçu: aucun;
  Border-Radius: 3px;
}

.custom-controls entrée [type = "range"] :: - webkit-slider-thumb {
  -Webkit-apparence: aucun;
  hauteur: 15px;
  Largeur: 15px;
  Contexte: # 007BFF;
  Border-Radius: 50%;
  curseur: pointeur;
}

Ce style donne un look moderne et propre. Vous pouvez ajuster les couleurs, les tailles et la disposition au besoin.

Ajouter des fonctionnalités avec JavaScript

Connectez maintenant les contrôles personnalisés à l'élément vidéo:

 const video = document.getElementById (&#39;myVideo&#39;);
const playPausebtn = document.getElementById («playPause»);
const Seekbar = document.getElementById («SeekBar»);
const volumebar = document.getElementById (&#39;volumebar&#39;);
const fullScreenbtn = document.getElementById (&#39;fullScreen&#39;);

// Play / Pause Toggle
playpausebtn.addeventListener (&#39;click&#39;, () => {
  if (video.paused) {
    video.play ();
    playPausebtn.textContent = &#39;Pause&#39;;
  } autre {
    video.pause ();
    playPausebtn.textContent = &#39;play&#39;;
  }
});

// Mettre à jour Seek Bar en tant que lecture vidéo
video.addeventListener (&#39;timeupdate&#39;, () => {
  SeekBar.Value = (video.currentTime / Video.Duration) * 100;
});

// cherche une vidéo
SeekBar.AddeventListener (&#39;Input&#39;, () => {
  const time = (SeekBar.Value / 100) * Video.Duration;
  video.currentTime = time;
});

// Contrôle du volume
volumebar.addeventListener (&#39;input&#39;, () => {
  video.volume = volumebar.value;
});

// plein écran
fullScreenbtn.addeventListener (&#39;click&#39;, () => {
  if (video.requestfullScreen) {
    vidéo.requestfullScreen ();
  } else if (video.webkitRequestfullScreen) {
    video.webkitRequestfullScreen ();
  }
});

Ce script gère toutes les interactions de base: play / pause, recherche, volume et écran complet. Il écoute les événements et met à jour l'état vidéo en conséquence.

Améliorations facultatives

Vous pouvez aller plus loin par:

  • Ajout d'un affichage de temps (par exemple, «2:14 / 4:30»)
  • Montrant un fileur de chargement pendant la mise en mémoire tampon
  • Faire se cacher les commandes sur l'inactivité et réapparaître sur le plan de volant
  • Prise en charge des raccourcis clavier (espace pour jouer / pause, m pour muet, etc.)

Par exemple, pour montrer le temps actuel et total:

 fonction formatTime (secondes) {
  const mins = math.floor (secondes / 60);
  const Secs = math.floor (secondes% 60) .toString (). Padstart (2, &#39;0&#39;);
  return `$ {mins}: $ {Secs}`;
}

video.addeventListener (&#39;chardedMetadata&#39;, () => {
  SeekBar.max = 100;
  // en supposant que vous avez un <span id = "timedisplay"> </span> dans vos commandes
  document.getElementById (&#39;Timedisplay&#39;). TextContent = 
    FormAttime (vidéo.Duration);
});

video.addeventListener (&#39;timeupdate&#39;, () => {
  document.getElementById (&#39;CurrentTime&#39;). TextContent = 
    FormAttime (vidéo.currentTime);
});

Fondamentalement, vous remplacez l'interface utilisateur par défaut par HTML, le coiffant par CSS et le câblant avec JavaScript. Il faut un peu plus de travail que d'utiliser les contrôles par défaut, mais cela en vaut la peine pour une expérience vidéo empoisonnée et marquée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Analyse de documents de l'API Amap : Comment implémenter des contrôles personnalisés de carte en PHP Analyse de documents de l'API Amap : Comment implémenter des contrôles personnalisés de carte en PHP Jul 30, 2023 pm 11:57 PM

Analyse de document de l'API Amap : Comment implémenter des contrôles personnalisés de carte en PHP. Les contrôles personnalisés de carte font référence à l'ajout de modules de fonctions définis par l'utilisateur à la carte, qui peuvent étendre et personnaliser les fonctions en fonction des besoins réels. En PHP, nous pouvons utiliser l'API Amap combinée aux fonctions de contrôles personnalisés pour réaliser des applications cartographiques plus personnalisées et plus riches. Cet article explique comment implémenter un contrôle de carte personnalisé en PHP et donne des exemples de code. Travail de préparation Tout d'abord, nous devons postuler pour l'API sur la plateforme ouverte Amap

Gérer différents formats vidéo pour la compatibilité vidéo HTML5. Gérer différents formats vidéo pour la compatibilité vidéo HTML5. Jul 02, 2025 pm 04:40 PM

Pour améliorer la compatibilité vidéo HTML5, un support multi-format est nécessaire. Les méthodes spécifiques sont les suivantes: 1. Sélectionnez trois formats traditionnels: MP4, WebM et OGG pour couvrir différents navigateurs; 2. Utilisez plusieurs éléments dans la balise pour les organiser en fonction de la priorité; 3. Faites attention aux stratégies de préchargement, à la configuration du domaine croisé, à la conception réactive et à la prise en charge des sous-titres; 4. Utilisez Handbrake ou FFMPEG pour la conversion de format. Cela garantit que les vidéos sont lues en douceur sur toutes sortes d'appareils et de navigateurs et optimise l'expérience utilisateur.

Streaming Média efficace à l'aide de la vidéo et de l'audio HTML5. Streaming Média efficace à l'aide de la vidéo et de l'audio HTML5. Jul 02, 2025 pm 04:52 PM

TOSTREAMMEDIAEFFICIAGEMENTSEWHHTML5, USECOMPATIBLEFORMATSLIKEMP4ANDWEBMFORVIDEOANDMP3OROGGFORAUDIO.1) CompressFilesBilesforeuploadingusingTools LikeHandBrakeorAdacyTobalancequalityandSize.2) USETHEPROOTATORDUTWISELY - AUTOLORIAL

Comment intégrer l'audio et la vidéo: balises et attributs HTML5 Comment intégrer l'audio et la vidéo: balises et attributs HTML5 Jun 19, 2025 am 12:20 AM

Html5 sailbuder formultimediaBauseitsimpitifiesembedding, améliore userexperience, et improvesperformanceandaccessibility.1) use andtagsforrembeddingmediaWithCustalizationOptions.2)

Comment faire un lecteur audio avec des contrôles personnalisés dans HTML5? Comment faire un lecteur audio avec des contrôles personnalisés dans HTML5? Sep 16, 2025 am 04:21 AM

Créez d'abord des éléments audio cachés et créez une interface utilisateur de contrôle personnalisée, puis connectez des fonctions telles que la lecture, la pause, le réglage de la progression et le contrôle du volume à l'API audio via JavaScript pour obtenir un lecteur audio entièrement personnalisé.

Comment rendre un contrôle personnalisé, comme un bouton , accessible? Comment rendre un contrôle personnalisé, comme un bouton , accessible? Jun 24, 2025 am 12:13 AM

Pour que les contrôles personnalisés aient une bonne accessibilité, vous devez utiliser correctement les balises sémantiques, prendre en charge les lecteurs d'écran et les opérations de clavier. 1. Utilisez des attributs Aria pour compléter la sémantique, tels que Role = "Button", Tabindex = "0" et Aria-Label; 2. Prise en charge des événements de déclenchement du clavier et entrez des événements de déclenchement de clés; 3. Fournissez des commentaires visuels, tels que le plan de mise au point, l'état désactivé et les invites de chargement. Par exemple: s'assurez que tous les utilisateurs peuvent faire fonctionner les contrôles en douceur.

Comment utilisez-vous l'événement terminé dans la vidéo HTML5? Comment utilisez-vous l'événement terminé dans la vidéo HTML5? Aug 05, 2025 pm 03:15 PM

Theendeenventinhtml5videofireswhenplaybacknaturallyrechestheend.2.Touseit, addaneventListenertothevideoelement thattriggersacallbackfunction, telAsshowingAreplayButton

Comment utiliser l'attribut Loop pour boucle la lecture vidéo? Comment utiliser l'attribut Loop pour boucle la lecture vidéo? Jun 21, 2025 am 12:45 AM

Pour obtenir la répétition automatique des vidéos dans le développement Web, vous devez utiliser l'attribut de boucle de HTML. La méthode d'écriture spécifique consiste à ajouter LOOP ou LOOP = "LOOP" à la balise; Pour garantir la lecture automatique, il est également nécessaire de coopérer avec les propriétés de lecture automatique et muet; De plus, l'état de boucle peut être contrôlé dynamiquement via JavaScript, tel que video.loop = true ou vidéo.loop = false; Les précautions comprennent: s'assurer que la vidéo est chargée, traiter les problèmes de compatibilité du navigateur, éviter les restrictions mobiles et vérifier le format de fichiers vidéo et l'interférence du script.

See all articles