Lecteur video flash + javascript [Résolu]

Signaler
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010
-
stonedbike
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010
-
Bonjour,

J'ai cherché mais n'ai pas trouvé de réponse à mon problème...

J'ai sur mon site une série d'images ; j'aimerais que pour chacune d'entre elles, en cliquant dessus une vidéo différente s'ouvre.
J'avais réussi avec un lecteur WMP, mais je n'y arrive pas avec un lecteur flash (le lecteur "maxi" de flv-player.net); voici mon code :

<head>

<script langage="javascript">
function marche(video)
{
document.getElementById("lecteur").innerHTML='<object type="application/x-shockwave-flash" data="player_flv_maxi.swf" width="320" height="240"></object>'
}
</script>

</head>








Sous firefox ça fonctionne très bien, mais sous Internet Explorer (7) il ne m'affiche qu'un petit carré noir de quelques pixels de large à la place du lecteur ; d'ailleurs, en lui demandant le contenu du div "lecteur", il m'affiche <object type="application/x-shockwave-flash" width="320" height="240" data="player_flv_maxi.swf"></object> (il a foutu tous les paramètres à la poubelle quoi... alors que FF garde tout)

Merci d'avance de votre aide ! (c'est la première fois que je poste ici, en général je trouve toujours qqu'un dans la même galère que moi, avec la réponse de son sauveur...)

10 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
Bonjour,
il y a surement une explication logique !!!!!
un paliatif, pourquoi ne pas mettre dans un DIV display:hidden et de l'afficher sur le onclick...

voir peut être coté forum FLASH pour l'explication.

;O)
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

euh pardon, c'est plutôt

value="flv='+video+'"
et non pas
value="+video+"

pour que ça marche sous FF ; mais ça ne marche pas sous I.E....
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
Bonjour,
il te faut une structure du type
<object codebase =...........>
  
  
  
</object>

pour être compatible IE et FF

;O)
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

merci beaucoup de ta réponse, mais j'ai essayé avec le code donné en cas de problème sur le site du lecteur:
<object id="monFlash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" type="application/x-shockwave-flash" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="320" height="240">



</object>


Ce code marche très bien lorsqu'il est tapé directement en html - le précédent aussi, pourtant sans embed - mais dès que je demande à javascript de l'écrire dans un div (grâce à document.getElementById("lecteur").innerHTML), Internet Explorer ne me garde aucun des "PARAM" que je lui ai donné ; cette fois-ci par contre, il m'en affiche toute une série que je ne lui ai pas demandé, mais aucun qui contienne le nom de ma vidéo :
<OBJECT id=monFlash codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0 type=application/x-shockwave-flash height=240 width=320 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>

























</OBJECT>
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

Même avec le oublié, aucun effet sous I.E.. Je craque...
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

J'ai même trouvé le moyen de changer la valeur des paramètres de l'object, mais ça ne sert à rien puisque visiblement ils sont chargés une fois au début et non modifiables après.

En fait, il me faudrait juste trouver le moyen pour que I.E. lise la ligne document.getElementById("lecteur").innerHTML en entier, avec tous les param que je lui indique dedans...

Bon je me parle à moi-même là venez m'aider siouplait !...
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

MERCI INFINIMENT LE PLANCHISTE !
Tu m'as donné la clef manquante finale !
J'avais essayé avec un "display:none", et ça marchait pas sous i.e. ...

Alors pour les gens qui seraient dans la même galère :

De manière à changer la vidéo du lecteur, je me suis servi d'une fonction de ce dernier, donné sur http://resources.neolao.com/download/flash/components/player_flv_maxi.html (car une balise <object> contenant du flash ne semble pas modifiable après la 1ere lecture, il faut donc agir directement sur le flash, grâce aux fonctions du lecteur)

Mais pour i.e., il FAUT que la balise <object> soit chargée dès le début, en "visibility:hidden" s'il le faut (pour moi oui).

Voilà le script :
<script langage="javascript">
function montre(video) {
document.getElementById("lecteur").style.visibility="visible";
//merci PetoleTeam !
setTimeout("url('"+video+"')",1000);
setTimeout("play()",1500);
//(le setTimeout est nécessaire pour I.E. !)
//sous FF, il suffit d'un url(video) puis d'un play(); mais s'il n'y avait que FF, je ne serais pas là...
}
function url(video) {
document.monFlash.SetVariable("player:jsUrl", video);
}
function play() {
document.monFlash.SetVariable("player:jsPlay", "");
}
</script>




<object id="monFlash" type="application/x-shockwave-flash" data="player_flv_maxi.swf" width="320" height="240">
    
    
</object>



J'essaierai de voir un autre jour si ya moyen de changer la taille, mais ça m'etonnerait vue la prise de tête pour changer l'url de la vidéo...

ENCORE UN GRAND MERCI A TOI PETOLETEAM , tous mes élèves vont être contents de pouvoir enfin lire les vidéos de leur site (il sera bientôt mis à jour ici pour ceux que ça intéressent : http://cinegilles.free.fr )

PS : tu navigues vers où PetoleTeam ?
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
1001 excuses il fallait effectivement lire display:none et non hidden, mais si il faut un visibily:hidden la réponse est à moitié juste donc à moitié fausse.

PS: le plus souvent qu'il puisse mettre donné sur LEUCATE
;O)
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

Heureuse erreur justement, si tu m'avais répondu "display:none", j'aurais laissé tomber puisque j'avais déjà essayé & ça ne marchait pas !

Sur ce, je te souhaite bon vent sur Leucate ! (ya pas souvent pétole là-bas quand même...)
Messages postés
8
Date d'inscription
samedi 6 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

juste un ptit message pour préciser que j'ai été mauvaise langue : ya en fait moyen de changer la taille sans aucun problème ; je l'ai adapté à la résolution de l'écran par ça :

var miniz = 'mini'+image[a].split('.').reverse()[1]+'.jpg';
//ça c'est pasque le nom de mon fichier vidéo (flv) est stocké dans la variable image[a], et que la miniature s'appelle "mini(nom du fichier).jpg"

var imgx = document.getElementById(miniz).width;
var imgy = document.getElementById(miniz).height;
var ecrany = (document.body.clientHeight);

document.getElementById("monFlash").width=ecrany*(imgx/imgy)/1.4;
document.getElementById("monFlash").height=ecrany/1.4;


Si ce n'est pas clair, vous pouvez aller voir le site ; j'espère avoir aidé quelqu'un !