Vra

Ons is met behulp van WMV video's op'n interne webwerf, en ons is die inbedding van hulle in die webwerwe.Dit werk baie goed op Internet Explorer, maar nie op Firefox.Ek het maniere gevind om te maak dit werk in Firefox, maar dan is dit tot stilstand kom werk in Internet Explorer.

Ons wil nie te gebruik Silver net nog nie, veral aangesien ons nie seker kan wees dat alle kliënte sal hardloop Windows XP met Windows Media Player geïnstalleer.

Is daar'n soort van Universele Kode wat ingesluit WMP in beide Internet Explorer en Firefox, of doen ons nodig het om te implementeer'n paar gebruiker-agent-opsporing en lewer verskillende HTML-vir verskillende blaaiers?

Was dit nuttig?

Oplossing

Die volgende werk vir my in Firefox en 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>

Ander wenke

Mag ek stel voor dat die jQuery Media Plugin?Bied insluit kode vir alle soorte van die video, nie net WMV en nie leser opsporing, die behoud van alles wat morsig switch/case state van jou templates.

Gebruik die volgende.Dit werk in Firefox en 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" />

En 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)
        } 


        }

Elizabeth Castro het'n interessante artikel oor hierdie probleem: Bye Bye Insluit.Die moeite werd om'n lees oor hoe sy aangeval hierdie probleem, sowel as die hantering van QuickTime inhoud.

Jy kan gebruik voorwaardelike kommentaar te kry EXPLORER en Firefox verskillende dinge om te doen

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

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

Die blaaiers hulself sal ignoreer kode wat is nie bedoel vir hulle om te lees.

Die beste manier om te sit video op die web met behulp van Flash - dit is baie makliker om te insluit netjies in'n web bladsy en sal speel op meer of minder enige leser en platform kombinasie.Die enigste rede om te gebruik Windows Media Player is as jy streaming inhoud, en jy moet buitengewoon sterk bestuur van digitale regte, en selfs dan verskaffers is nou die begin Flits te gebruik, selfs vir hierdie.Sien BBC iPlayer vir'n uitstekende voorbeeld.

Ek sou voorstel dat jy oorskakel na Flash selfs vir interne gebruik.Jy weet nooit wat gaan om te nodig het om toegang te verkry in die toekoms, en dit sal gee jou die beste moontlike toekoms verenigbaarheid.

WYSIG - 20 Maart 2013.Interessant hoe hierdie ou vrae wat na vore kom van tyd tot tyd!Hoe anders die wêreld is vandag en hoe gedateer dit lyk al.Ek sou nie raai'n Flits enigste roete vandag deur enige beteken - die beste praktyk hierdie dae sou waarskynlik wees om te gebruik HTML 5 in te sluit H264 geïnkripteer video, met'n Flits nood soos hier beskryf: http://diveintohtml5.info/video.html

Kodering flash video is eintlik baie maklik met ffmpeg.Jy kan gebruik om een opdrag om te skakel van net oor enige video-formaat, ffmpeg is slim genoeg om uit te vind die res uit, en dit sal gebruik elke verwerker op jou masjien.Aanroep dit is maklik:

ffmpeg -i input.avi output.flv

ffmpeg sal dink aan die bitrate jy wil, maar as jy wil om te spesifiseer een, kan jy gebruik maak van die -b opsie, so -b 500000 is 500kbps byvoorbeeld.Daar is'n ton van die opsies van die kursus, maar ek het oor die algemeen goeie resultate kry sonder veel pogings.Dit is'n goeie plek om te begin as jy op soek is na vir meer opsies: video opsies.

Jy hoef nie'n spesiale web bediener te wys flash video.Ek het dit gedoen net'n boete deur eenvoudig te stoot .flv lêers tot'n standaard web bediener, en die koppeling van hulle met'n goeie swf player, soos flowplayer.

WMVs is fyn as jy kan seker wees dat al jou gebruikers sal altyd gebruik ['n onlangse, tot op datum weergawe van] Vensters nie, maar selfs dan, Flits is dikwels'n beter pas vir die web.Die speler is selfs uiters skinnable en kan beheer word met javascript.

Ek het'n goeie artikel oor met behulp van die WMP met Firefox op die MSDN.

Gebaseer op die MSDN se artikel en nadat doen'n paar toetse en foute, ek het gevind dat die gebruik van JavaScript is beter as die gebruik van voorwaardelike kommentaar of geneste "EMBED/VOORWERP" kategorie.

Ek het'n JS funksie wat genereer WMP voorwerp wat gebaseer is op gegewe 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>

Dan sal ek gebruik wat funksioneer deur die skryf van'n paar ups en inline JS soos hierdie:

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

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

Jy kan gebruik jQuery.gereed in plaas van venster vrag gebeurtenis te maak van die kodes meer agteruit-versoenbaar en kruis-leser.

Ek getoets het die kodes oor DWS 9-10, Chrome 27, Firefox 21, Opera 12 en Safari 5, op Windows 7/8.

Ek het gevind dat iets wat Eintlik werk in beide FireFox en IE, op Elizabeth Castro se webwerf (dankie vir die skakel op hierdie webwerf) - ek het probeer om al die ander weergawes hier, maar kon dit nie maak dit werk in beide die blaaiers

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

Check haar webwerf uit: http://www.alistapart.com/articles/byebyeembed/ en die weergawe met die classid in die eerste voorwerp tag

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top