Einbetten von Windows Media Player für alle Browser

  • Wir verwenden WMV -Videos auf einer internen Website binden sie in Websites ein. Dies funktioniert ziemlich gut in Internet Explorer, aber nicht in Firefox. Ich habe Wege gefunden, damit es in Firefox funktioniert, aber dann funktioniert es nicht mehr in Internet Explorer.

    Wir möchten Silverlight noch nicht verwenden, zumal wir nicht sicher sind dass auf allen Clients Windows XP mit Windows Media Player installiert ist.

    Gibt es eine Art universellen Code, der WMP in Internet Explorer und Firefox einbettet, oder müssen wir eine Benutzer-Agent-Erkennung implementieren und unterschiedlichen HTML-Code für verschiedene Browser bereitstellen?

    21 August 2017
    Peter FeatherstoneMichael Stum
9 answers
  • Folgendes funktioniert für mich in Firefox und 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>
     
    14 July 2013
    Roman R.RowlesRoyce
  • Darf ich das jQuery Media Plugin vorschlagen? Bietet eingebetteten Code für alle Arten von Videos, nicht nur für WMV, und die Browsererkennung. Alle unordentlichen Anweisungen zum Wechseln / Verkleinern werden von Ihren Vorlagen ferngehalten.

    08 August 2008
    Jake McGraw
  • Verwenden Sie Folgendes. Es funktioniert in Firefox und 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" />
     

    Und in 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)
            } 
    
    
            }
     
    08 April 2011
    Peter Mortensen
  • Der beste Weg, um Videos im Web bereitzustellen, ist die Verwendung von Flash. Es ist viel einfacher, sich sauber in eine Webseite einzubetten, und lässt sich mit nahezu allen Browser- und Plattformkombinationen abspielen. Der einzige Grund für die Verwendung von Windows Media Player ist, wenn Sie Inhalte streamen und ein außerordentlich starkes Digital Rights Management benötigen. Selbst dann verwenden Anbieter jetzt sogar Flash für diese Anwendungen. Ein hervorragendes Beispiel finden Sie im iPlayer von BBC.

    Ich würde vorschlagen, dass Sie auch für den internen Gebrauch zu Flash wechseln. Sie wissen nie, wer zukünftig darauf zugreifen muss, und dies bietet Ihnen die bestmögliche Kompatibilität für die Zukunft.

    EDIT - 20. März 2013. Interessant, wie diese alten Fragen von Zeit zu Zeit auftauchen! Wie anders die Welt heute ist und wie datiert das alles scheint. Ich empfehle Ihnen heute auf keinen Fall eine einzige Flash-Route. Bester Praxis heutzutage ist es wahrscheinlich, HTML 5 zum Einbetten von H264-codiertem Video zu verwenden, wobei ein Flash-Fallback wie hier beschrieben gilt: http://diveintohtml5.info/video.html

    20 March 2013
    Polsonby
  • Elizabeth Castro hat einen interessanten Artikel zu diesem Problem: Bye Bye Embed . Es lohnt sich zu lesen, wie sie dieses Problem angegriffen hat und wie QuickTime-Inhalte behandelt werden.

    10 November 2008
    Jim Nelson
  • Sie können bedingte Kommentare verwenden, um IE und Firefox dazu zu bringen, verschiedene Dinge zu tun:

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

    The Browser selbst ignorieren Code, der nicht zum Lesen gedacht ist.

    01 August 2008
    Grant
  • Das Kodieren von Flash-Videos ist mit ffmpeg sehr einfach. Sie können einen Befehl verwenden, um aus fast jedem Videoformat zu konvertieren. Ffmpeg ist intelligent genug, um den Rest herauszufinden, und es wird jeder Prozessor auf Ihrem Computer verwendet. Das Aufrufen ist einfach:

     ffmpeg -i input.avi output.flv
     

    ffmpeg wird die Bitrate erraten, die Sie wünschen, aber wenn Sie möchten Wenn Sie einen Wert angeben, können Sie die Option -b verwenden. -b 500000 beträgt beispielsweise 500 kbps. Es gibt natürlich eine Menge Optionen, aber im Allgemeinen bekomme ich gute Ergebnisse, ohne viel zu basteln. Dies ist ein guter Anfang, wenn Sie nach weiteren Optionen suchen: Videooptionen .

    Sie benötigen keinen speziellen Webserver, um Flash-Videos anzuzeigen. Ich habe es gut gemacht, indem ich einfach .flv-Dateien auf einen Standard-Webserver hochgesteuert und mit einem guten swf-Player verbunden habe, wie flowplayer .

    WMVs sind in Ordnung, wenn Sie sicher sein können, dass alle Benutzer immer [nur eine aktuelle, aktuelle Version] von Windows verwenden, aber selbst dann ist Flash oft besser für das Web geeignet. Der Player ist sogar extrem skinfähig und kann mit Javascript gesteuert werden.

    04 August 2008
    Peter BurnsSean Anderson
  • Ich habe einen guten Artikel über mit dem WMP gefunden mit Firefox auf MSDN.

    Basierend auf MSDNs Artikel und nach einigen Versuchen und Fehlern fand ich die Verwendung von JavaScript besser als bedingte Kommentare oder verschachtelte "EMBED / OBJECT" "tags.

    Ich habe eine JS-Funktion erstellt, die WMP-Objekte basierend auf den angegebenen Argumenten generiert:

     <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>
     

    Dann habe ich diese Funktion verwendet, indem ich einige Markups und Inline-JS wie folgt schrieb:

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

    Sie können jQuery.ready anstelle von Fensterladeereignis verwenden, um die Codes abwärtskompatibler zu machen und Browserübergreifend.

    Ich habe die Codes über IE 9-10, Chrome 27, Firefox 21, Opera 12 und Safari 5 unter Windows 7/8 getestet.

    02 September 2013
    Perseus
  • Ich habe etwas gefunden, das in FireFox und IE auf der Website von Elizabeth Castro funktioniert (dank des Links auf dieser Seite). Ich habe alle anderen Versionen hier ausprobiert, konnte sie jedoch nicht in beiden Versionen verwenden Browser

     <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>
     

    Besuchen Sie ihre Website: http://www.alistapart.com/articles/byebyeembed/ und die Version mit der classid im ursprünglichen object-Tag

    08 November 2009
    sthMellon