begin process at 2012 05 28 10:34:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > HTML5 PLAYER

HTML5 PLAYER


 Information sur la source

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :html5 player, video, player, webm, mp4 Niveau :Débutant Date de création :08/08/2011 Date de mise à jour :09/10/2011 16:20:22 Vu / téléchargé :4 424 / 442

Auteur : kazma

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le 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

Source avec Zip Source avec une capture BOUTON ROTATIF
Source avec Zip Source avec une capture EFFET DE ROTATION A 360° D'IMAGE AVEC ACCELERATION DECELERAT...
Source avec Zip Source avec une capture PETIT LOGICIEL DE DESSIN, RETOUCHE AVEC CANVAS
Source avec Zip Source avec une capture DRAG & DROP VERS UN CANVAS
Source avec Zip Source avec une capture DIAPO EN CSS 3D

 Sources de la même categorie

Source avec Zip Source avec une capture SLIDESHOW IMAGES ET TEXTES EN PUR JAVASCRIPT par ansuzpeorth
Source avec Zip INPUT TEXT AUTOMATIQUE CREATION SUPPRESSION par lycanges
Source avec Zip Source avec une capture TABLE_SV : TABLEAU DYNAMIQUE, MONTRER/CACHER COLONNE SUR DEM... par synanceia
COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PETIT LECTEUR AUDIO HTML 5 par maichafred
Source avec Zip PLAYER VIDEO HTML À BONDER par Hakumbaya
Source avec Zip Source avec une capture VIDEO EN FOND DE PAGE WEB (HTML5) par BarbuJack
Source avec Zip Source avec une capture HTML 5 MEDIA PLAYER par kazma
Source avec Zip Source avec une capture DRAG DROP DE VIDEOS par kazma

Commentaires et avis

Commentaire de twisteurwin le 09/08/2011 16:01:49 8/10

salut et merci pour cette source, je cherche à faire afficher la sidebar en permanence une piste ?

Commentaire de kazma le 09/08/2011 17:11:40 administrateur CS

dans le css a la ligne 23 met l'opacité a 1 et le tour est joué

opacity:1;

Commentaire de twisteurwin le 10/08/2011 01:14:41

C'est cool merci Kazma (j'ai mal recherché du côté js...) thx !

Commentaire de HACKANDROID le 11/08/2011 22:20:37

Merci c'est super sa marcher pas, mais j'ai ajouter le 1 a la place du 0 maintenant c'est super je vais voir pour mettre ma propre vidéo!

<!-- THANK_YOU! -->

Commentaire de HACKANDROID le 11/08/2011 23:12:01 9/10

On est obliger de mettre du ogg ou on peu mettre d'autre format tu peu me dire lesquels?

Commentaire de kazma le 12/08/2011 16:42:10 administrateur CS

on peut mettre d'autres formats dans une balise video et on peut mettre plusieurs video avec des format differents le navigateur lira la premiere video declare dont il est capable de lire le format en gros sa depend du navigateurs

firefox : ogg webm
opera : ogg webm
chrome : ogg webm
ie : mp4
safarie : mp4

si on prend la balise video qui se trouve dans le fichier html tu remarquera qu'il y a deux video declaré une en mp4 et l'autre en ogg de cette facon on poura lire la video sur tous les navigateurs il faudra donc cree deux video une en ogg et l'autre en mp4 le mieux serait une en mp4 et l'autre en webm car de meilleur qualite que l'ogg mais il faut faire attention a firefox qui supporte le webm a partir de la 3.64

<video id='v1' class='v1' preload onprogress="playe4.progression(event)" onended='stop()' onclick="playe4.marchearret()" ondblclick='playe4.full()'>

<source src='http://eribium.org/osgroup/flarevideo/flarevideo/examples/volcano.ogv' type="video/ogg">
<source src='http://eribium.org/osgroup/flarevideo/flarevideo/examples/volcano.mp4' type="video/mp4">
</video>



  

Commentaire de HACKANDROID le 12/08/2011 23:01:51

j'ai firefox Aurora, ta pas un convertiseur vidéo? qui fait le ogg et webm? J'utilise : Formatfactory, mais il ne le fait pas...
Merci!

Commentaire de kazma le 13/08/2011 11:22:09 administrateur CS

regarde ici

http://wiki.xiph.org/index.php/TheoraSoftwareEncoders

et aussi

http://www.webmproject.org/tools/

Commentaire de HACKANDROID le 13/08/2011 23:21:58

Merci j'ai trouver mieux VLC.

Commentaire de lesscro le 16/08/2011 08:30:50

très sympa, je le garde sous le coude... il serait possible d'ajouter un "overlay image" pour déclarer le fait que le player doit être démarrer !

une simple image PLAY fera l'affaire !

çà semble logique mais sans visuel apparent, j'ai cru que çà ne fonctionnait pas au début car je voyais un cadre noir uniquement !

Cordialement.

Commentaire de guigui144 le 16/08/2011 14:23:29 9/10

super source
je l'ai personnalisé un peut et l'ai intégré a mon site  
un grand merci a toi kazma !!!

Commentaire de lesscro le 17/08/2011 07:04:00

Je viens aussi de pense qu'il serait bon ,en plus de l'overlay "PLAY" que j'ai proposé, que la "bottom bar" soit visible en ouverture avec l'overlay pour vraiment afficher la possibilité de lecture et ensuite se "Autohide" dès le début de la lecture comme elle le fait déjà...

Des idées qui me traverse l'esprit pour ce bon petit HTML5 Player !

Cordialemen.

Commentaire de kazma le 17/08/2011 22:49:30 administrateur CS

il serait possible d'ajouter un "overlay image" pour déclarer le fait que le player doit être démarrer !

il existe l'attribut poster a mettre dans la balise video qui permet d'avoir une image avant le démarrage de la video

Commentaire de lesscro le 18/08/2011 07:19:54

Merci de l'info, c'est bon à savoir !

 Ajouter un commentaire


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 :&lt;object name="extrait1" width="244" height="183" id="extrait1"&gt;&lt;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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales