Accueil > > > HTML5 PLAYER
HTML5 PLAYER
Information sur la source
Description
c'est un player en html5 j'ai mis deux source il y a deux sources pour la premiere source j'ai essayé de faire le plus simple possible avec un code facilement compréhensible il a les options habituelles play pause stop mute le reglage du son le plein ecran par double clic sur la video et une petite option en plus quand on clic sur le timer on a soit la duree ecoulé soit la duree restante il est paramétrable via le css pour la deuxième source j'ai fait un objet afin de pouvoir mettre plusieurs lecteurs sur une page par instanciation, la source a les memes options que la premiere mais est plus simple a mettre en oeuvre ca il suffit de mettre dans la partie js une ligne par player afin de l'instancier en precisant le div qui le contiendra et l'adresse de la video ,le html ne contiendra que le div conteneur de chaque lecteurs accompagné de sa partie csse css afin de preciser la taille,la position et autres du div conteneur
Source
- //-------------------------------------------------------------
- // Nom Document : player 4
- // Auteur : kazma (Kamel.A)
- // Objet : player de video utilisant la balise video html5 http://www.javascriptfr.com/
- // Création : 07.08.2011
- //-------------------------------------------------------------
-
- var playe4={
-
- interplay:'vide',
- elfull:null,
- total:0,
-
- ajoutevent:function(e){
-
- e.preventDefault(); //evite la selection d'element dans le document
- playe4.curent(e);
- document.documentElement.addEventListener("mousemove", playe4.curent, false);
- document.documentElement.addEventListener("mouseup", playe4.retireevent, false);
- document.getElementById('v1').removeAttribute('onended');
- },
-
- retireevent:function(){
-
- document.documentElement.removeEventListener("mousemove", playe4.curent, false);
- document.documentElement.removeEventListener("mouseup", playe4.retireevent, false);
- document.getElementById('v1').setAttribute('onended','playe4.stop()');
- },
-
- progression:function(evt){ //progression du chargement de la video
-
- var elem=evt.currentTarget;
-
- if(evt.lengthComputable && evt.total) {
-
- var valeur=(evt.loaded/evt.total); //retourne une valeur compris entre 0 et 1
- }
- else if(elem.buffered && elem.buffered.length>0){
-
- var charge=elem.buffered.end(0);
- var valeur=(charge/elem.duration).toFixed(2); //retourne une valeur compris entre 0 et 1
- }
- document.getElementById("defile").getElementsByTagName('div')[0].style.width=(valeur*100)+'%';
- },
-
- curent:function(e){ //positionnement de la barre de defilement et de la video par la souris
-
- var setX =e.clientX-document.getElementById("defile").parentNode.offsetLeft;
-
- var distance=document.getElementById("defile").offsetWidth-document.getElementById("defile").getElementsByTagName('div')[2].offsetWidth; //distance reel de la barre de defilement
-
- var valeur=(setX-document.getElementById("defile").offsetLeft); //position du curseur de la sourie dans la barre de defilement
-
- valeur=valeur/distance; //valeur comprise entre 0 et 1
-
- document.getElementById('v1').currentTime=document.getElementById('v1').duration*valeur; //conversion par rapport a la video
-
- if (document.getElementById('v1').paused==true) {
- playe4.posivi();
- }
- },
-
- posivi:function(){ //definition de la position de la barre de defilement
-
- var bar=document.getElementById("defile").getElementsByTagName('div')[2];
-
- var valeur=(document.getElementById('v1').currentTime/document.getElementById('v1').duration).toFixed(6); //retourne une valeur compris entre 0 et 1
-
- var distance=document.getElementById("defile").offsetWidth-bar.offsetWidth; //la distance total a parcourir de la barre<
-
- bar.style.marginLeft=(distance*valeur)+"px";
-
- document.getElementById("defile").getElementsByTagName('div')[1].style.width=(distance*valeur)+(bar.offsetWidth/2)+"px";
- playe4.tmp();
- },
-
- sonson:function(e){ //definition du niveau de son et de la position du du curseur du son
-
- var setX =e.clientX-document.getElementById("defile").parentNode.offsetLeft;
-
- var distance=document.getElementById("son").offsetWidth;
-
- var valeur=(setX-document.getElementById("son").offsetLeft);
-
- valeur=valeur/distance;
-
- document.getElementById('v1').volume=valeur;
- document.getElementById("son").getElementsByTagName('div')[0].style.width=(valeur*distance)+'px';
- },
-
- marchearret:function(){
-
- var elem=document.getElementById('v1');
- var lui=document.getElementById('ma');
-
- if(elem.paused==true){
- elem.play();
- interplay=setInterval(playe4.posivi,100);
- lui.style.cssText='background-position:40px 20px;';
- }
- else{
- elem.pause();
- clearInterval(interplay);
- lui.style.cssText='background-position:0px 20px;';
- }
- },
-
- mute:function(lui){
-
- var elem=document.getElementById('v1');
-
- if (elem.muted==true) {
- elem.muted=false;
- lui.style.cssText='background-position:0px 0px;';
- }
- else{
- elem.muted=true;
- lui.style.cssText='background-position:40px 1px;';
- }
- },
-
- stop:function(){
-
- document.getElementById('v1').currentTime=0;
- document.getElementById("defile").getElementsByTagName('div')[2].style.marginLeft=0+"px";
- document.getElementById("defile").getElementsByTagName('div')[1].style.width=0+"px";
- if (document.getElementById('v1').paused==false) {
- document.getElementById('v1').pause();
- clearInterval(interplay);
- document.getElementById('ma').style.cssText='background-position:0px 20px;';
- }
- },
-
- tmp:function(){ //le timer
-
- var dura=(this.total==0 ? document.getElementById('v1').currentTime : document.getElementById('v1').duration-document.getElementById('v1').currentTime);
- var min = Math.floor(dura / 60);
- if (min < 10) {
- min = '0' + min;
- }
- var sec = Math.floor(dura % 60);
- if (sec < 10) {
- sec = '0' + sec;
- }
- document.getElementById('temp').firstChild.nodeValue=min+ ':'+sec;
- },
-
- toto:function(){ //sert a deteminer si le temp sera celui ecoule et le temp restant.
- this.total==0 ? this.total=1 : this.total=0;
- },
-
-
- full:function(){ //fonction pour le plein ecran
-
- var stl=document.getElementById('genediv');
- var vv1=document.getElementById('v1');
-
- if(vv1.parentNode==stl){
- var elem = document.createElement('div');
- elem.style.height=document.documentElement.clientHeight+'px';
- elem.style.width=document.documentElement.clientWidth+'px';
- elem.setAttribute('class','bfull');
- this.elfull=document.body.appendChild(elem);
- this.elfull.appendChild(vv1);
- this.elfull.appendChild(document.getElementById('defile').parentNode);
- vv1.setAttribute('class','fulle');
- }
-
- else{
- stl.appendChild(vv1);
- stl.appendChild(document.getElementById('defile').parentNode);
- vv1.setAttribute('class','v1');
- document.body.removeChild(this.elfull);
- }
- this.marchearret();
- }
- }
//-------------------------------------------------------------
// Nom Document : player 4
// Auteur : kazma (Kamel.A)
// Objet : player de video utilisant la balise video html5 http://www.javascriptfr.com/
// Création : 07.08.2011
//-------------------------------------------------------------
var playe4={
interplay:'vide',
elfull:null,
total:0,
ajoutevent:function(e){
e.preventDefault(); //evite la selection d'element dans le document
playe4.curent(e);
document.documentElement.addEventListener("mousemove", playe4.curent, false);
document.documentElement.addEventListener("mouseup", playe4.retireevent, false);
document.getElementById('v1').removeAttribute('onended');
},
retireevent:function(){
document.documentElement.removeEventListener("mousemove", playe4.curent, false);
document.documentElement.removeEventListener("mouseup", playe4.retireevent, false);
document.getElementById('v1').setAttribute('onended','playe4.stop()');
},
progression:function(evt){ //progression du chargement de la video
var elem=evt.currentTarget;
if(evt.lengthComputable && evt.total) {
var valeur=(evt.loaded/evt.total); //retourne une valeur compris entre 0 et 1
}
else if(elem.buffered && elem.buffered.length>0){
var charge=elem.buffered.end(0);
var valeur=(charge/elem.duration).toFixed(2); //retourne une valeur compris entre 0 et 1
}
document.getElementById("defile").getElementsByTagName('div')[0].style.width=(valeur*100)+'%';
},
curent:function(e){ //positionnement de la barre de defilement et de la video par la souris
var setX =e.clientX-document.getElementById("defile").parentNode.offsetLeft;
var distance=document.getElementById("defile").offsetWidth-document.getElementById("defile").getElementsByTagName('div')[2].offsetWidth; //distance reel de la barre de defilement
var valeur=(setX-document.getElementById("defile").offsetLeft); //position du curseur de la sourie dans la barre de defilement
valeur=valeur/distance; //valeur comprise entre 0 et 1
document.getElementById('v1').currentTime=document.getElementById('v1').duration*valeur; //conversion par rapport a la video
if (document.getElementById('v1').paused==true) {
playe4.posivi();
}
},
posivi:function(){ //definition de la position de la barre de defilement
var bar=document.getElementById("defile").getElementsByTagName('div')[2];
var valeur=(document.getElementById('v1').currentTime/document.getElementById('v1').duration).toFixed(6); //retourne une valeur compris entre 0 et 1
var distance=document.getElementById("defile").offsetWidth-bar.offsetWidth; //la distance total a parcourir de la barre<
bar.style.marginLeft=(distance*valeur)+"px";
document.getElementById("defile").getElementsByTagName('div')[1].style.width=(distance*valeur)+(bar.offsetWidth/2)+"px";
playe4.tmp();
},
sonson:function(e){ //definition du niveau de son et de la position du du curseur du son
var setX =e.clientX-document.getElementById("defile").parentNode.offsetLeft;
var distance=document.getElementById("son").offsetWidth;
var valeur=(setX-document.getElementById("son").offsetLeft);
valeur=valeur/distance;
document.getElementById('v1').volume=valeur;
document.getElementById("son").getElementsByTagName('div')[0].style.width=(valeur*distance)+'px';
},
marchearret:function(){
var elem=document.getElementById('v1');
var lui=document.getElementById('ma');
if(elem.paused==true){
elem.play();
interplay=setInterval(playe4.posivi,100);
lui.style.cssText='background-position:40px 20px;';
}
else{
elem.pause();
clearInterval(interplay);
lui.style.cssText='background-position:0px 20px;';
}
},
mute:function(lui){
var elem=document.getElementById('v1');
if (elem.muted==true) {
elem.muted=false;
lui.style.cssText='background-position:0px 0px;';
}
else{
elem.muted=true;
lui.style.cssText='background-position:40px 1px;';
}
},
stop:function(){
document.getElementById('v1').currentTime=0;
document.getElementById("defile").getElementsByTagName('div')[2].style.marginLeft=0+"px";
document.getElementById("defile").getElementsByTagName('div')[1].style.width=0+"px";
if (document.getElementById('v1').paused==false) {
document.getElementById('v1').pause();
clearInterval(interplay);
document.getElementById('ma').style.cssText='background-position:0px 20px;';
}
},
tmp:function(){ //le timer
var dura=(this.total==0 ? document.getElementById('v1').currentTime : document.getElementById('v1').duration-document.getElementById('v1').currentTime);
var min = Math.floor(dura / 60);
if (min < 10) {
min = '0' + min;
}
var sec = Math.floor(dura % 60);
if (sec < 10) {
sec = '0' + sec;
}
document.getElementById('temp').firstChild.nodeValue=min+ ':'+sec;
},
toto:function(){ //sert a deteminer si le temp sera celui ecoule et le temp restant.
this.total==0 ? this.total=1 : this.total=0;
},
full:function(){ //fonction pour le plein ecran
var stl=document.getElementById('genediv');
var vv1=document.getElementById('v1');
if(vv1.parentNode==stl){
var elem = document.createElement('div');
elem.style.height=document.documentElement.clientHeight+'px';
elem.style.width=document.documentElement.clientWidth+'px';
elem.setAttribute('class','bfull');
this.elfull=document.body.appendChild(elem);
this.elfull.appendChild(vv1);
this.elfull.appendChild(document.getElementById('defile').parentNode);
vv1.setAttribute('class','fulle');
}
else{
stl.appendChild(vv1);
stl.appendChild(document.getElementById('defile').parentNode);
vv1.setAttribute('class','v1');
document.body.removeChild(this.elfull);
}
this.marchearret();
}
}
Conclusion
pas trop long mais totalement fonctionnel
Fichier Zip
Historique
- 08 août 2011 17:51:05 :
- optimisation
- 09 août 2011 22:45:54 :
- effet fade sur la barre
- 09 octobre 2011 16:20:22 :
- creation d'un objet afin de mettre plusieurs lecteurs sur une page
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Inserrer une video WMP dasn une page [ par geilgestorm ]
Bonjour,J'ai une vidéo à mettre sur un site. La vidéo est encodée en WMP 9 (parce que meilleure qualité pour la taille inférieure à Real) Actuellement
video [ par blackmanshadow ]
bonjour à tous je n'ai pas trouver de réponse dans le forum à mon prob ( que des questions lollll)j'aimerais inserrer une video wmv dans une page html
Contrôle d'une vidéo real video [ par tek77 ]
Salut à vous,J'ai un problème de controle d'une vidéo sous macMa vidéo :<object name="extrait1" width="244" height="183" id="extrait1"><embed
lire video [ par mogmog ]
bonjour!Avec mon PC Win XP, je n'arrive pas a lire des videos en lien sur une page. Par exemple si je met une video sur une page de mon site kelle soi
problèm lecteur de video [ par quitues ]
Bonjour a tous et bonnes fetes,g 1 problème avec le code d'un lecteur de video. Pour lire une video dans le lecteur, on clik sur une image mais sa fai
PLAYER FLASH [ par lette ]
Bonjour j'aimerais savoir si il est possible d'intégrer dans une page html le player flash afin que l'animation soit lue même si l'utilisateur n'a pa
affichage titre video [ par warreck ]
bonjourvoila j'utile le streaming pour afficher des videos sur mon site et je voudrais pouvoir extraire le titre des la video en cours pour l'afficher
code javascript diapositive video [ par fred1 ]
est ce que quelqu'un aurait un code source an javascript a partager au sujet de pouvoir afficher des video de camera de surveillance les une aprés les
Recevoir des information dans une iframe [ par thebmxeur ]
Bonjour a tous.pour mon site j'ai créé un petit player.Il fonctionne sous mozilla firefox mais pas sous ie.Dans ma page principal j'ai un formulaire p
Ouvrir une vidéo [ par zzzzzz ]
Salut, j'aimerai en fait ouvrir une video dans une page. j'ai fait utilisé parent.location ... ca marche impec, le blème c que ca ouvre la video dire
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|