Résumé des points clés
audioTracks
, qui permet théoriquement l'implémentation des boutons de commutation pour les descriptions audio et contrôle les volumes audio et vidéo séparément. Cependant, les navigateurs ont actuellement un support limité pour cette fonctionnalité. MediaController
, une fonctionnalité de l'audio et de la vidéo HTML5 qui permet de synchroniser plusieurs sources. Cette fonctionnalité est actuellement limitée dans la prise en charge du navigateur, mais peut utiliser des fonctionnalités existantes et largement implémentées pour démarrer et maintenir deux fichiers multimédias synchronisés simultanément. audioTracks
, ce qui permet d'implémenter les boutons de commutation et de contrôler les volumes audio et vidéo séparément. Mais son support de navigateur est à peine présent - au moment de la rédaction, seul IE10 prend en charge cette fonctionnalité. Quoi qu'il en soit, ce que mes clients veulent, c'est une description audio dans un fichier séparé qui peut être ajouté à la vidéo sans créer de version distincte et être facilement fabriquée sans utiliser de logiciel dédié. Bien sûr, il doit fonctionner dans pas mal de navigateurs. Donc, ma prochaine idée est d'utiliser MediaController
, une fonctionnalité de l'audio et de la vidéo HTML5 qui vous permet de synchroniser plusieurs sources. Cependant, la prise en charge du navigateur pour elle est tout aussi mince - au moment de la rédaction, seul Chrome prend en charge cette fonctionnalité. Mais vous savez - même sans ce support, ce n'est évidemment pas un problème de démarrer deux fichiers multimédias en même temps, il suffit d'être gardé en synchronisation. Alors, pouvons-nous y parvenir en utilisant des fonctionnalités existantes et largement implémentées? Événements vidéo L'API vidéo fournit de nombreux événements auxquels nous pouvons nous connecter, ce qui devrait synchroniser la lecture audio avec des événements vidéo:
L'événement "TimeUpdate" est très critique. La fréquence qu'il déclenche n'est pas spécifiée et varie en fait considérablement - mais en moyenne globale approximative, elle équivaut à 3 à 5 fois par seconde, ce qui est suffisant pour nos fins. J'ai vu des moyens similaires d'essayer de synchroniser deux fichiers vidéo, mais ce n'est pas particulièrement réussi car même de petites différences sont évidentes. Mais les descriptions audio n'ont généralement pas besoin d'être synchronisées avec précision - de toute façon, un délai de 100 millisecondes est acceptable - et la lecture de fichiers audio est beaucoup moins forcé sur le navigateur. Nous avons donc juste besoin d'utiliser des événements vidéo existants pour verrouiller la lecture audio et vidéo ensemble:
Après certaines expériences, j'ai constaté que les meilleurs résultats peuvent être obtenus en comparant le temps en secondes, comme indiqué ci-dessous:
if(Math.ceil(audio.currentTime) != Math.ceil(video.currentTime)) { audio.currentTime = video.currentTime; }
Cela semble contre-intuitif, et au début, je pensais que nous avions besoin des données exactes que nous pouvions, mais cela ne semble pas être le cas. En testant avec une copie audio texte de la piste vidéo (c'est-à-dire que l'audio et la vidéo produisent le même son), il est facile d'entendre que la synchronisation est bonne ou mauvaise. Sur la base de cette base, j'ai constaté que les nombres d'arrondi obtiennent de meilleurs résultats de synchronisation que de ne pas arrondir. C'est donc le script final. Si le navigateur prend en charge MediaController
, nous avons juste besoin de l'utiliser, sinon nous implémenterons la synchronisation manuelle comme décrit ci-dessous:
var video = document.getElementById('video'); var audio = document.getElementById('audio'); if(typeof(window.MediaController) === 'function') { var controller = new MediaController(); video.controller = controller; audio.controller = controller; } else { controller = null; } video.volume = 0.8; audio.volume = 1; video.addEventListener('play', function() { if(!controller && audio.paused) { audio.play(); } }, false); video.addEventListener('pause', function() { if(!controller && !audio.paused) { audio.pause(); } }, false); video.addEventListener('ended', function() { if(controller) { controller.pause(); } else { video.pause(); audio.pause(); } }, false); video.addEventListener('timeupdate', function() { if(!controller && audio.readyState >= 4) { if(Math.ceil(audio.currentTime) != Math.ceil(video.currentTime)) { audio.currentTime = video.currentTime; } } }, false);
Veuillez noter que MediaController
est défini uniquement par les scripts, mais le contrôleur peut être défini à l'aide de l'attribut statique "MediaGroup":
<video mediagroup="foo"></video> ... <audio mediagroup="foo"> ... </audio>
Si nous faisons cela, cela fonctionnera dans Chrome sans JavaScript. Il synchronisera les sources multimédias, mais l'utilisateur ne peut pas contrôler l'audio (y compris ne pas pouvoir le désactiver) car le navigateur ne sait pas ce que représente l'audio. Dans ce cas, il est préférable d'encoder l'audio dans la vidéo, car il peut alors apparaître dans l'objet , que le navigateur peut reconnaître et pouvoir fournir des contrôles natifs. Mais comme nous n'avons pas de données audioTracks
, c'est une question non pertinente! Donc, si le script n'est pas disponible, l'audio ne sera pas du tout lu. Il s'agit de la démo finale, qui peut être exécutée dans n'importe quelle dernière version d'Opera, Firefox, Chrome, Safari ou IE9 ou version ultérieure: - Demo description audio audioTracks
Les descriptions audio accessibles jouent un rôle crucial dans la rendez les vidéos HTML5 plus inclusives et conviviales. Ils fournissent des équivalents auditifs d'informations visuelles, ce qui est particulièrement bénéfique pour les utilisateurs malvoyants. Ces descriptions décrivent des détails visuels importants qui ne peuvent pas être compris par la piste principale. En ajoutant des descriptions audio accessibles, les créateurs de contenu peuvent s'assurer que leurs vidéos sont accessibles par un public plus large, favorisant ainsi l'inclusion numérique.
L'ajout de description de l'audio à la vidéo HTML5 comprend plusieurs étapes. Tout d'abord, vous devez créer une piste audio distincte qui décrit les éléments visuels de la vidéo. Cela peut être fait à l'aide de divers logiciels d'édition audio. Une fois que la piste de description audio est prête, vous pouvez l'ajouter à votre vidéo HTML5 à l'aide de l'élément avec l'attribut aimable défini sur "Descriptions". Cela garantira que la piste de description audio est reconnue et lue avec la vidéo.
Il peut y avoir plusieurs raisons pour lesquelles votre vidéo HTML5 ne peut pas jouer. Cela peut être dû à des problèmes avec le fichier vidéo lui-même, comme le fait de ne pas être correctement. Cela peut également être dû au problème que le navigateur Web ou le lecteur vidéo ne prend pas en charge le format vidéo. Pour dépanner, essayez de lire des vidéos sur différents navigateurs ou sur différents appareils. Si le problème persiste, vous devrez peut-être vérifier le fichier vidéo et vous assurer que son format est pris en charge par HTML5.
La vidéo HTML5 prend en charge plusieurs formats vidéo communs, notamment MP4, WebM et Ogg. Le format MP4 est largement pris en charge dans tous les principaux navigateurs et appareils, ce qui en fait un choix populaire pour la vidéo en ligne. WebM et OGG sont des formats open source et sont largement pris en charge, bien qu'ils ne fonctionnent pas correctement dans tous les navigateurs.
"Fichier vidéo HTML5 non trouvé" L'erreur se produit généralement lorsque le navigateur ne peut pas trouver le fichier vidéo spécifié dans l'attribut source de l'élément <video></video>
. Pour corriger cette erreur, assurez-vous que le chemin du fichier dans la propriété source est correct et que le fichier vidéo se trouve dans le chemin spécifié. Si le chemin du fichier est correct, vérifiez si le fichier vidéo est dans HTML5 et le format pris en charge par le navigateur.
Pour rendre votre vidéo HTML5 réactive, vous pouvez utiliser CSS pour définir la largeur de la vidéo à 100% et la hauteur à automatiquement. Cela garantira que la vidéo est mise à l'échelle vers le haut ou vers le bas pour s'adapter à la largeur de son conteneur, ce qui lui permet de répondre à différentes tailles d'écran.
Oui, vous pouvez ajouter des sous-titres ou une narration à votre vidéo HTML5 en utilisant un élément avec un attribut aimable sur "Légendes" ou "sous-titres". Vous devez créer un fichier webvtt avec des sous-titres ou des narrations, puis référer ce fichier dans l'attribut SRC de l'élément.
HTML5 fournit plusieurs commandes de lecture vidéo intégrées, y compris la lecture, la pause, le volume et le plein écran. Ces contrôles peuvent être activés en ajoutant l'attribut de contrôles à l'élément <video></video>
. De plus, vous pouvez utiliser JavaScript pour créer des contrôles et des interactions personnalisés.
Oui, vous pouvez utiliser l'élément <video></video>
pour intégrer des vidéos HTML5 sur votre site Web. Vous devez utiliser l'attribut SRC pour spécifier la source du fichier vidéo, et vous pouvez également ajouter des attributs facultatifs tels que les contrôles, la lecture automatique et la boucle pour personnaliser la lecture vidéo.
HTML5 offre de nombreux avantages pour la lecture vidéo. Il prend en charge plusieurs formats vidéo, fournit des commandes de lecture vidéo intégrées et permet l'ajout de fonctionnalités d'accessibilité telles que les sous-titres et les descriptions audio. De plus, les vidéos HTML5 peuvent être réactives, garantissant qu'ils ont fière allure sur tous les appareils et tailles d'écran. Enfin, comme HTML5 est la norme Web, il est pris en charge par tous les navigateurs Web modernes sans plug-ins ou logiciels supplémentaires.
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!