utilisation méthodes play() et stop() sur un objet embed
Dernière réponse : dans Programmation
Bonjour,
pour une fois il faut reconnaitre que c'est avec firefox que mon problème se pose et non avec IE...
j'ai créer une simple page avec un lecteur qui se connecte à un streaming audio
ce que je voudrais, c'est contrôler le lecteur non par l'utilisation des contrôles par défaut, mais par l'utilisation des méthodes play() et stop() applicable à un objet embed
function lecture(objet){
document.getElementById(objet).play();
}
function arret(objet){
document.getElementById(objet).stop();
}
</script>
<a href="javascript:arret('Player')">arrêter</a>
les liens fonctionnent parfaitement sous IE, mais en aucun cas sous Firefox (et les autres navigateurs de type Netscape)
quelqu'un aurait il une solution pour que mes visiteurs puissent entendre le flux audio depuis leur navigateur préféré ?
Merci d'avance
pour une fois il faut reconnaitre que c'est avec firefox que mon problème se pose et non avec IE...
j'ai créer une simple page avec un lecteur qui se connecte à un streaming audio
Citation :
<embed name="Player" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="monlien.asx" type="application/asx" width="198" height="45" autostart="0" showstatusbar="0" volume="1"></embed>ce que je voudrais, c'est contrôler le lecteur non par l'utilisation des contrôles par défaut, mais par l'utilisation des méthodes play() et stop() applicable à un objet embed
Citation :
<script language="javascript">function lecture(objet){
document.getElementById(objet).play();
}
function arret(objet){
document.getElementById(objet).stop();
}
</script>
Citation :
<a href="javascript:lecture('Player')">mise en route</a><a href="javascript:arret('Player')">arrêter</a>
les liens fonctionnent parfaitement sous IE, mais en aucun cas sous Firefox (et les autres navigateurs de type Netscape)
quelqu'un aurait il une solution pour que mes visiteurs puissent entendre le flux audio depuis leur navigateur préféré ?
Merci d'avance
Autres pages sur : utilisation methodes play stop objet embed
Lassé par la pub ? Créez un compte
Pas vraiment, FF reconnait parfaitement le classid, il ne reconnait simplement pas WMP comme lecteur associé à son classid. Mets un autre lecteur, soit pour firefox uniquement (avec un test du navigateur), soit pour tous les navigateurs (par ex Quicktime...). Choisis en un compatible avec autre chose que Windows...
Firefox reconnait le classid mais avec des limitations (surtout vu que c'est un système désormais "officiellement" abandonné par les recommandations récentes de l'XHTML), autant qu'il n'a, par contre, jamais reconu le <embed>.. Il faut passer par l'attribut désormais "standard" type="application/mon_type_d'application", ce qui est 100% reconnu par Firefox et tous les navigateurs récents et dignes de ce nom.. Par exemple, pour une anim Flash,c'est type="application/x-shockwave-flash".. Ce qui est d'autant plus vrai depuis qu'on programme en XHTML (depuis 2000, en gros)..
L'attribut "type" se met directement dans la balise <object>, comme il l'est dans ton <embed>.. Après, les attributs name, pluginspage, autostart, showstatusbar et volume ne sont pas des attributs valides, il faut passer par une balise du genre <param name="nom_du_paramètre" value="valeur_du_paramètre" />. Rappel : la balise <param /> est dans la balise <object>.
Une suggestion d'exemple d'après ton <embed> :
Une liste de ce qu'on appelle des "types Mime" >> http://fr.selfhtml.org/divers/typesmime.htm.. Cette liste n'est pas tout à fait à jour, elle ne contient pas les derniers formats de fichiers multimedia à la mode ces temps-ci, mais elle peut te servir à t'inspirer.. Il se peut que le type de fichier soit reconnu en tant que "application/x-asx" plutôt que "application/asx".. A toi d'essayer..
Cela dit, IE (au moins jusqu'à IE 6) ne connait pas le système de type Mime, il faut passer par le classid.. Pour IE 7, je n'ai pas essayé (mais je sens que je vais le faire très vite
; encore un oubli dans mise à niveau de mon site, certes particulièrement mineur)......
Et sinon, Firefox 2 semble bien lire les fichiers multimedia Microsoft via l'intégration du Windows Media Player en tant que plugin dans la page Web qui l'appelle..
L'attribut "type" se met directement dans la balise <object>, comme il l'est dans ton <embed>.. Après, les attributs name, pluginspage, autostart, showstatusbar et volume ne sont pas des attributs valides, il faut passer par une balise du genre <param name="nom_du_paramètre" value="valeur_du_paramètre" />. Rappel : la balise <param /> est dans la balise <object>.
Une suggestion d'exemple d'après ton <embed> :
<object id="Player" src="monlien.asx" type="application/asx" width="198" height="45">
<param name="autostart" value="0" />
<param name="showstatusbar" value="0" />
<param name="volume" value="1" />
</object>
Une liste de ce qu'on appelle des "types Mime" >> http://fr.selfhtml.org/divers/typesmime.htm.. Cette liste n'est pas tout à fait à jour, elle ne contient pas les derniers formats de fichiers multimedia à la mode ces temps-ci, mais elle peut te servir à t'inspirer.. Il se peut que le type de fichier soit reconnu en tant que "application/x-asx" plutôt que "application/asx".. A toi d'essayer..
Cela dit, IE (au moins jusqu'à IE 6) ne connait pas le système de type Mime, il faut passer par le classid.. Pour IE 7, je n'ai pas essayé (mais je sens que je vais le faire très vite
; encore un oubli dans mise à niveau de mon site, certes particulièrement mineur)......Et sinon, Firefox 2 semble bien lire les fichiers multimedia Microsoft via l'intégration du Windows Media Player en tant que plugin dans la page Web qui l'appelle..
Voilà le code.
La vidéo est affichée et lue par IE7 et Firefox 2.0, mais dans Firefox, je ne peux pas utiliser mon lien Lire
Si quelqu'un a une idée, je suis vraiment preneur.
Merci d'avance ^^
EDIT : mise à jour du code pour prendre en compte les remarques de Johan_et_Pirlouit sur le XHTML
La vidéo est affichée et lue par IE7 et Firefox 2.0, mais dans Firefox, je ne peux pas utiliser mon lien Lire
<html>
<head>
<title>Video</title>
<script language="javascript">
function lire() {
document.getElementById('player').play();
}
</script>
</head>
<body>
<object
id="player"
type="video/x-ms-wmv"
style="width:320px; height:308px;">
<param name="filename" value="uneVideoWMV" />
<param name="autoStart" value="0" />
<param name="AnimationatStart" value="0" />
<param name="showdisplay" value="0" />
<param name="TransparentAtStart" value="0" />
<param name="ShowControls" value="1" />
<param name="ShowStatusBar" value="1" />
<param name="ShowPositionControls" value="0" />
</object>
<br />
<span onclick="javascript:lire()">Lire</span>
</body>
</html>
Si quelqu'un a une idée, je suis vraiment preneur.
Merci d'avance ^^
EDIT : mise à jour du code pour prendre en compte les remarques de Johan_et_Pirlouit sur le XHTML
Petite note pour les balises XHTML "simples" : il y a un espace avant le slash "/" de fermeture
:
Et les balises <param /> sont aussi des balises simples, donc obligation du tag de fermeture (le slash "/" comme toutes les autres du même type).. Des choses comme ça qu'on oublie assez vite, surtout quand on récupère des portions de code en vieux HTML 4.xx
..
Sinon, pourquoi tu passe par JS pour un bouton "lire" ? Pourquoi tu ne le fais pas directement dans ton Flash comme n'importe quel lecteur multimedia Flash (lecteur MP3, lecteur vidéo, etc) ?
Passer par JS revient à s'exposer aux différences d'implémentation du langage sur les différents navigateurs, donc à des soucis éventuels de compatibilité de ton script, même si les choses s'améliorent avec le temps (surtout depuis que JS est "standardisé" en tant que recommandation W3C : l'ECMAScript, mais ça reste plutôt récent)
..
:
<br />
<img src="monimage.ext" alt="" />
<meta ... />
etc..
Et les balises <param /> sont aussi des balises simples, donc obligation du tag de fermeture (le slash "/" comme toutes les autres du même type).. Des choses comme ça qu'on oublie assez vite, surtout quand on récupère des portions de code en vieux HTML 4.xx
..Sinon, pourquoi tu passe par JS pour un bouton "lire" ? Pourquoi tu ne le fais pas directement dans ton Flash comme n'importe quel lecteur multimedia Flash (lecteur MP3, lecteur vidéo, etc) ?
Passer par JS revient à s'exposer aux différences d'implémentation du langage sur les différents navigateurs, donc à des soucis éventuels de compatibilité de ton script, même si les choses s'améliorent avec le temps (surtout depuis que JS est "standardisé" en tant que recommandation W3C : l'ECMAScript, mais ça reste plutôt récent)
..
Je n'utilise pas un lecteur flash, mais un lecteur présent chez l'utilisateur qui lit les .wmv (Windows Media Player la plupart du temps).
Mon bouton lire n'est la que pour illustrer mes besoins.
Je dois pouvoir arrêter la lecture d'une vidéo automatiquement (sans que l'utilisateur clique sur "Stop") lorsque celui-ci choisit de regarder une nouvelle vidéo.
Mes différentes vidéos sont dans des div, toutes dans la même page.
Voilà pour les détails
EDIT : merci pour le rappel sur les balises XHTML simples
EDIT 2 : j'ai mis à jour le code du coup.
Mon bouton lire n'est la que pour illustrer mes besoins.
Je dois pouvoir arrêter la lecture d'une vidéo automatiquement (sans que l'utilisateur clique sur "Stop") lorsque celui-ci choisit de regarder une nouvelle vidéo.
Mes différentes vidéos sont dans des div, toutes dans la même page.
Voilà pour les détails
EDIT : merci pour le rappel sur les balises XHTML simples
EDIT 2 : j'ai mis à jour le code du coup.
Citation :
merci pour le rappel sur les balises XHTML simples
.... Et pour tous les autres
(... Me rappelant d'un topic ou le gugus postait son code - infâme - et râlait de lire des remarques et commentaires pas exactement en rapport avec la question ...
pour ton esprit
)
Et moi j'ai tellement l'habitude de l'usage de player Flash que j'ai immédiatement pensé ...... Flash ! (c'est ça que de lire tout plein de trucs en même temps : je mélange
).. Au temps pour moi, donc
..
Reste à voir du côté de la fonction play() que tu utilises dans ton JS.. Voir si c'est bien compatible tous navigateurs et si ce ne serait pas un truc spécial MS pour IE.. Essaie aussi avec Opera et tu auras une meilleure idée
.. Et si tu as un Linux ou un Mac sous la main, essaie soit avec Konqueror, soit avec Safari, tous deux utilisent le même "moteur" de fonctionnement : KHTML.. Ainsi, tu verras aussi que tes WMV risquent fort de ne pas être lus, vu que c'est du pur format Microsoft..
Ce que tu pourrais essayer, quitte à utiliser un format propriétaire, c'est de convertir en vidéo Flash FLV et d'utiliser un player multimedia Flash.. Sinon, publier au format MPG, le MPEG-1 peut convenir pour des vidéos sur le Web, tant qu'on reste en petite taille..
(et je plussoie zeb dans sa parenthèse
)
).. Au temps pour moi, donc
..Reste à voir du côté de la fonction play() que tu utilises dans ton JS.. Voir si c'est bien compatible tous navigateurs et si ce ne serait pas un truc spécial MS pour IE.. Essaie aussi avec Opera et tu auras une meilleure idée
.. Et si tu as un Linux ou un Mac sous la main, essaie soit avec Konqueror, soit avec Safari, tous deux utilisent le même "moteur" de fonctionnement : KHTML.. Ainsi, tu verras aussi que tes WMV risquent fort de ne pas être lus, vu que c'est du pur format Microsoft..Ce que tu pourrais essayer, quitte à utiliser un format propriétaire, c'est de convertir en vidéo Flash FLV et d'utiliser un player multimedia Flash.. Sinon, publier au format MPG, le MPEG-1 peut convenir pour des vidéos sur le Web, tant qu'on reste en petite taille..
(et je plussoie zeb dans sa parenthèse
)
Lassé par la pub ? Créez un compte