Einbetten von Windows Media Player für alle Browser

stimmen
53

Wir sind mit WMV - Videos auf einer internen Stelle, und wir sie in Websites einbetten. Das funktioniert ganz gut auf Internet Explorer, aber nicht auf Firefox. Ich habe Wege gefunden , um es in Firefox funktioniert, aber dann in Internet Explorer es nicht mehr funktioniert.

Wir wollen nicht Silverlight verwenden nur noch, vor allem, da wir nicht sicher sein können, dass alle Clients Windows XP laufen mit Windows Media Player installiert ist.

Gibt es irgendeine Art von Universal-Code, dem Internet Explorer und Firefox WMP in einbettet, oder müssen wir einige User-Agent-Erkennung implementieren und verschiedenen HTML für verschiedenen Browser liefern?

Veröffentlicht am 01/08/2008 um 19:02
quelle vom benutzer
In anderen Sprachen...                            


9 antworten

stimmen
42

Die folgenden Werke 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>
Beantwortet am 03/08/2008 um 15:27
quelle vom benutzer

stimmen
20

Darf ich das vorschlagen jQuery Plugin Medien ? Bietet Einbettungscode für alle Arten von Video, nicht nur WMV und tut Browser - Erkennung, alles , was unordentlich Schalter / Case - Anweisungen aus Ihren Vorlagen zu halten.

Beantwortet am 08/08/2008 um 19:29
quelle vom benutzer

stimmen
8

Verwenden Sie die folgenden. 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)
        } 


        }
Beantwortet am 04/08/2009 um 15:55
quelle vom benutzer

stimmen
7

Elizabeth Castro hat einen interessanten Artikel zu diesem Problem: Bye Bye einbetten . Lesenswert, wie sie dieses Problem angegriffen, sowie Quicktime - Inhalte Handhabung.

Beantwortet am 10/11/2008 um 20:52
quelle vom benutzer

stimmen
6

Der beste Weg, um Video auf dem Web zu implementieren, wird Flash verwenden - es ist viel einfacher sauber in eine Webseite eingebettet werden und auf mehr oder weniger jeden Browser und Plattform Kombination spielen. Der einzige Grund, den Windows Media Player zu verwenden, wenn Sie Inhalte sind Streaming und Sie müssen außerordentlich starke digitale Rechteverwaltung, und selbst dann Anbieter beginnen nun Flash-auch für diese zu verwenden. Siehe BBC iPlayer für ein hervorragendes Beispiel.

Ich würde vorschlagen, dass Sie auch für den internen Gebrauch in Flash wechseln. Man weiß nie, wer es in Zukunft brauchen wird zuzugreifen, und dies wird Ihnen die bestmögliche zukünftige Kompatibilität geben.

EDIT - 20. März 2013 Interessant , wie diese alten Fragen von Zeit zu Zeit wieder auftauchen! Wie anders ist die Welt heute und wie veraltet das alles scheint. Ich würde eine nur Flash Route heute mit irgendwelchen Mitteln nicht empfehlen - beste Praxis in diesen Tage wären wahrscheinlich HTML zu verwenden 5 H264 kodierte Video einbetten, mit einem Rückfall - Flash , wie hier beschrieben: http://diveintohtml5.info/video.html

Beantwortet am 02/08/2008 um 12:05
quelle vom benutzer

stimmen
5

Sie könnten bedingte Kommentare benutzen Sie IE und Firefox verschiedene Dinge zu tun

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

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

Der Browser werden sich Code ignorieren, die nicht dazu gedacht, für sie zu lesen.

Beantwortet am 01/08/2008 um 19:08
quelle vom benutzer

stimmen
4

Ich fand einen guten Artikel über die WMP mit Firefox auf MSDN.

Basierend auf MSDN-Artikel und nach einigen Versuchen und Irrtümern, fand ich mit Hilfe von JavaScript ist besser als die Verwendung von bedingten Kommentaren oder verschachtelte „EMBED / OBJECT“ Tags.

Ich habe eine JS-Funktion, die WMP-Objekt zu erzeugen, basierend auf gegebenen Argumente:

<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 durch einige Markups und Inline JS wie diese zu schreiben:

<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 mit jQuery.ready statt Fenster Ladeereignis die Codes mehr abwärtskompatibel und Cross-Browser zu machen.

Getestet habe ich die Codes über IE 9-10, Chrome 27, Firefox 21, Opera 12 und Safari 5, auf Windows 8.7.

Beantwortet am 06/06/2013 um 17:03
quelle vom benutzer

stimmen
4

Encoding Flash-Video ist eigentlich sehr einfach mit ffmpeg. Sie können einen Befehl von fast jedes Video-Format zu konvertieren, ffmpeg ist intelligent genug, um den Rest, um herauszufinden, und es wird jeden Prozessor auf Ihrem Computer verwenden. Unter Berufung es ist einfach:

ffmpeg -i input.avi output.flv

ffmpeg wird bei der Bitrate wollen erraten Sie, aber wenn Sie einen angeben möchten, können Sie die Option -b verwenden, so -b 500000500kbps zum Beispiel ist. Es gibt eine Tonne von Optionen natürlich, aber ich habe im allgemeinen gute Ergebnisse ohne viel Bastelei. Dies ist ein guter Anfang , wenn Sie für mehr Optionen suchen: Video - Optionen .

Sie brauchen nicht eine spezielle Web - Server - Flash - Video zu zeigen. Ich habe ganz gut getan , indem Sie einfach Dateien auf einen Standard - Web - Server schiebt .flv auf, und die Verknüpfung , um sie mit einem guten swf - Player, wie Flowplayer .

WMVs sind in Ordnung, wenn Sie sicher sein können, dass alle Benutzer verwendet immer [eine aktuelle, aktuelle Version] nur Windows, sondern auch dann, Blitz oft eine bessere Passform für das Web. Der Spieler ist sogar extrem skinnable und kann mit Javascript gesteuert werden.

Beantwortet am 04/08/2008 um 03:14
quelle vom benutzer

stimmen
3

Ich habe etwas gefunden, das eigentlich in Firefox und IE, auf Elizabeth Castro Seite (dank den Link auf dieser Seite) funktioniert - ich habe alle anderen Versionen hier versucht, aber konnten sie nicht den Browser in beide funktioniert

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

Überprüfen Sie ihre Website aus: http://www.alistapart.com/articles/byebyeembed/ und die Version mit dem classid in der Anfangs Objekt - Tag

Beantwortet am 06/11/2009 um 21:00
quelle vom benutzer

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