Intégration Windows Media Player pour tous les navigateurs

voix
53

Nous utilisons WMV vidéos sur un site interne, et nous intégrons dans les sites Web. Cela fonctionne très bien sur Internet Explorer, mais pas sur Firefox. Je l' ai trouvé des moyens de le faire fonctionner dans Firefox, mais il cesse de fonctionner dans Internet Explorer.

Nous ne voulons pas utiliser Silverlight pour l'instant, d'autant plus que nous ne pouvons pas être sûr que tous les clients exécuter Windows XP avec Windows Media Player installé.

Y at-il une sorte de code universel qui intègre WMP à la fois Internet Explorer et Firefox, ou avons-nous besoin de mettre en œuvre une détection agent utilisateur et fournir différents HTML pour les différents navigateurs?

Créé 01/08/2008 à 19:02
source utilisateur
Dans d'autres langues...                            


9 réponses

voix
42

Les œuvres suivantes pour moi dans Firefox et Internet Explorer:

<object id="mediaplayer" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701" standby="loading microsoft windows media player components..." type="application/x-oleobject" width="320" height="310">
<param name="filename" value="./test.wmv">
     <param name="animationatstart" value="true">
     <param name="transparentatstart" value="true">
     <param name="autostart" value="true">
     <param name="showcontrols" value="true">
     <param name="ShowStatusBar" value="true">
     <param name="windowlessvideo" value="true">
     <embed src="./test.wmv" autostart="true" showcontrols="true" showstatusbar="1" bgcolor="white" width="320" height="310">
</object>
Créé 03/08/2008 à 15:27
source utilisateur

voix
20

Puis - je suggérer le jQuery Plugin médias ? Fournit le code d' intégration pour tous les types de vidéo, non seulement WMV et fait la détection du navigateur, en gardant tout ce que les déclarations commutateur / cas en désordre sur vos modèles.

Créé 08/08/2008 à 19:29
source utilisateur

voix
8

Utilisez le suivant. Il fonctionne dans Firefox et Internet Explorer.

        <object id="MediaPlayer1" width="690" height="500" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
            codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"
            standby="Loading Microsoft® Windows® Media Player components..." type="application/x-oleobject"
            >
            <param name="FileName" value='<%= GetSource() %>' />
            <param name="AutoStart" value="True" />
            <param name="DefaultFrame" value="mainFrame" />
            <param name="ShowStatusBar" value="0" />
            <param name="ShowPositionControls" value="0" />
            <param name="showcontrols" value="0" />
            <param name="ShowAudioControls" value="0" />
            <param name="ShowTracker" value="0" />
            <param name="EnablePositionControls" value="0" />


            <!-- BEGIN PLUG-IN HTML FOR FIREFOX-->
            <embed  type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
                src='<%= GetSource() %>' align="middle" width="600" height="500" defaultframe="rightFrame"
                 id="MediaPlayer2" />

Et en JavaScript,

    function playVideo() {
        try{
                if(-1 != navigator.userAgent.indexOf("MSIE"))
                {
                        var obj = document.getElementById("MediaPlayer1");
                            obj.Play();

                }
                else
                {
                            var player = document.getElementById("MediaPlayer2");
                            player.controls.play();

                }
             }  
        catch(error) {
            alert(error)
        } 


        }
Créé 04/08/2009 à 15:55
source utilisateur

voix
7

Elizabeth Castro a un article intéressant sur ce problème: Bye Bye Intégrer . Une excellente lecture sur la façon dont elle a attaqué ce problème, ainsi que la gestion du contenu QuickTime.

Créé 10/11/2008 à 20:52
source utilisateur

voix
6

La meilleure façon de déployer vidéo sur le web est l'utilisation de Flash - il est beaucoup plus facile d'intégrer proprement dans une page web et jouer plus ou moins tout navigateur et la combinaison de la plate-forme. La seule raison d'utiliser Windows Media Player est si vous diffusez le contenu et vous avez besoin extraordinairement forte gestion des droits numériques, et même alors, les fournisseurs commencent maintenant à utiliser Flash, même pour ceux-ci. Voir iPlayer de la BBC pour un exemple superbe.

Je suggère que vous passez à Flash, même pour un usage interne. Vous ne savez jamais qui va avoir besoin d'y accéder à l'avenir, et cela vous donnera la meilleure compatibilité future possible.

EDIT - 20 Mars 2013. Intéressant de voir comment ces vieilles questions refont surface de temps en temps! Quelle différence dans le monde est aujourd'hui et comment tout cela semble daté. Je ne recommanderais pas aujourd'hui la route que Flash en tout moyen - les meilleures pratiques de nos jours serait probablement d'utiliser HTML 5 pour intégrer H264 vidéo codé, avec une solution de repli Flash comme décrit ici: http://diveintohtml5.info/video.html

Créé 02/08/2008 à 12:05
source utilisateur

voix
5

Vous pouvez utiliser des commentaires conditionnels pour obtenir IE et Firefox pour faire des choses différentes

<![if !IE]>
<p> Firefox only code</p>
<![endif]>

<!--[if IE]>
<p>Internet Explorer only code</p>
<![endif]-->

Les navigateurs eux-mêmes ignorent le code qui est pas fait pour eux de lire.

Créé 01/08/2008 à 19:08
source utilisateur

voix
4

J'ai trouvé un bon article sur l' utilisation du WMP avec Firefox sur MSDN.

Sur la base de l'article de MSDN et après avoir fait quelques essais et erreurs, j'ai trouvé en utilisant JavaScript est mieux que d'utiliser des commentaires conditionnels ou imbriqués balises « EMBED / OBJET ».

J'ai fait une fonction JS qui génèrent l'objet WMP sur la base des arguments donnés:

<script type="text/javascript">
    function generateWindowsMediaPlayer(
        holderId,   // String
        height,     // Number
        width,      // Number
        videoUrl    // String
        // you can declare more arguments for more flexibility
        ) {
        var holder = document.getElementById(holderId);

        var player = '<object ';
        player += 'height="' + height.toString() + '" ';
        player += 'width="' + width.toString() + '" ';

        videoUrl = encodeURI(videoUrl); // Encode for special characters

        if (navigator.userAgent.indexOf("MSIE") < 0) {
            // Chrome, Firefox, Opera, Safari
            //player += 'type="application/x-ms-wmp" '; //Old Edition
            player += 'type="video/x-ms-wmp" '; //New Edition, suggested by MNRSullivan (Read Comments)
            player += 'data="' + videoUrl + '" >';
        }
        else {
            // Internet Explorer
            player += 'classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" >';
            player += '<param name="url" value="' + videoUrl + '" />';
        }

        player += '<param name="autoStart" value="false" />';
        player += '<param name="playCount" value="1" />';
        player += '</object>';

        holder.innerHTML = player;
    }
</script>

Ensuite, j'ai utilisé cette fonction en écrivant des balises et JS de inline comme ceux-ci:

<div id='wmpHolder'></div>

<script type="text/javascript">        
    window.addEventListener('load', generateWindowsMediaPlayer('wmpHolder', 240, 320, 'http://mysite.com/path/video.ext'));
</script>

Vous pouvez utiliser jQuery.ready au lieu d' événement de chargement de la fenêtre pour rendre les codes plus rétrocompatible et cross-browser.

Je l'ai testé les codes sur IE 9-10, Chrome 27, Firefox 21, Opera 12 et Safari 5, sous Windows 7/8.

Créé 06/06/2013 à 17:03
source utilisateur

voix
4

L'encodage vidéo flash est en fait très facile avec ffmpeg. Vous pouvez utiliser une commande pour convertir presque tous les formats vidéo, ffmpeg est assez intelligent pour comprendre le reste dehors, et il utilisera tous les processeurs sur votre machine. Il est facile d'invoquer:

ffmpeg -i input.avi output.flv

ffmpeg devinera au débit que vous voulez, mais si vous souhaitez spécifier un, vous pouvez utiliser l'option -b, donc -b 500000est 500kbps par exemple. Il y a une tonne d'options bien sûr, mais je reçois généralement de bons résultats sans beaucoup bricoler. Ceci est un bon endroit pour commencer si vous cherchez plus d' options: les options vidéo .

Vous n'avez pas besoin d' un serveur web spécial pour afficher la vidéo flash. Je l' ai fait très bien simplement pousser les fichiers flv sur un serveur Web standard, et des liens entre eux avec un bon joueur swf, comme flowplayer .

WMVs sont très bien si vous pouvez être sûr que tous vos utilisateurs utiliseront toujours [une version récente, à jour de] Windows uniquement, mais même alors, Flash est souvent un meilleur ajustement pour le web. Le joueur est encore très skinnable et peut être contrôlé avec javascript.

Créé 04/08/2008 à 03:14
source utilisateur

voix
3

Je l'ai trouvé quelque chose qui fonctionne dans les deux FireFox et IE, sur le site d'Elizabeth Castro (merci au lien sur ce site) - J'ai essayé toutes les autres versions, mais ne pouvais pas les faire travailler dans les deux navigateurs

<object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" 
  id="player" width="320" height="260">
  <param name="url" 
    value="http://www.sarahsnotecards.com/catalunyalive/fishstore.wmv" />
  <param name="src" 
    value="http://www.sarahsnotecards.com/catalunyalive/fishstore.wmv" />
  <param name="showcontrols" value="true" />
  <param name="autostart" value="true" />
  <!--[if !IE]>-->
  <object type="video/x-ms-wmv" 
    data="http://www.sarahsnotecards.com/catalunyalive/fishstore.wmv" 
    width="320" height="260">
    <param name="src" 
      value="http://www.sarahsnotecards.com/catalunyalive/fishstore.wmv" />
    <param name="autostart" value="true" />
    <param name="controller" value="true" />
  </object>
  <!--<![endif]-->
</object>

Consultez son site sur: http://www.alistapart.com/articles/byebyeembed/ et la version avec le classid dans la balise objet initial

Créé 06/11/2009 à 21:00
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more