Osadzanie Windows Media Player dla wszystkich przeglądarek

głosy
53

Używamy WMV filmy na wewnętrznej stronie, a my osadzając je na stronach internetowych. To działa bardzo dobrze na Internet Explorer, ale nie w Firefoksie. Znalazłem sposoby, aby to działa w Firefoksie, ale wtedy przestaje działać w programie Internet Explorer.

Nie chcemy używać Silverlight jeszcze, zwłaszcza, że ​​nie możemy być pewni, że wszyscy klienci będą z systemem Windows XP z zainstalowanym programem Windows Media Player.

Czy istnieje jakiś uniwersalny kod, który osadza WMP do zarówno Internet Explorer i Firefox, czy musimy wdrożyć pewne User-Agent wykrywanie i dostarczyć inny HTML dla różnych przeglądarek?

Utwórz 01/08/2008 o 19:02
źródło użytkownik
W innych językach...                            


9 odpowiedzi

głosy
42

Poniższe działa na mnie w Firefox i 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>
Odpowiedział 03/08/2008 o 15:27
źródło użytkownik

głosy
20

Mogę zaproponować jQuery Plugin mediów ? Dostarcza kod do osadzenia na wszelkiego rodzaju filmów, a nie tylko WMV i robi wykrywania przeglądarki, zachowując wszystko, co bałagan switch / case sprawozdania z twoich szablonów.

Odpowiedział 08/08/2008 o 19:29
źródło użytkownik

głosy
8

Użyj następującego. To działa w Firefox i 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" />

I w 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)
        } 


        }
Odpowiedział 04/08/2009 o 15:55
źródło użytkownik

głosy
7

Elizabeth Castro ma ciekawy artykuł na temat tego problemu: Bye Bye ankiety . Warto czytać o tym, jak zaatakowała ten problem, jak i obsługiwanie zawartości QuickTime.

Odpowiedział 10/11/2008 o 20:52
źródło użytkownik

głosy
6

Najlepszym sposobem, aby wdrożyć wideo w internecie jest za pomocą Flash - jest dużo łatwiej osadzić czysto na stronę internetową i bawić się na mniej lub bardziej dowolnej przeglądarki i połączeniu platformy. Jedynym powodem do korzystania z programu Windows Media Player, jeśli jesteś strumieniowe treści i trzeba niezwykle silny zarządzania prawami cyfrowymi, a nawet wtedy dostawcy są teraz zaczynają używać lampy błyskowej nawet dla nich. Zobacz BBC iPlayer za wspaniały przykład.

Proponuję, żeby przełączyć się migać, nawet do użytku wewnętrznego. Nigdy nie wiadomo, kto będzie potrzebował do niego dostęp w przyszłości, a to daje najlepszą możliwą przyszłą zgodność.

EDIT - 20 marca 2013. Ciekawe, jak te stare pytania resurface od czasu do czasu! Jak inny świat jest już przestarzały i jak to wszystko wydaje. Nie polecam tylko trasy Flash dzisiaj za pomocą wszelkich środków - najlepsza praktyka w tych dniach będzie prawdopodobnie używać HTML 5 osadzić H264 zakodowany film, z zastępczych Flash jak opisano tutaj: http://diveintohtml5.info/video.html

Odpowiedział 02/08/2008 o 12:05
źródło użytkownik

głosy
5

Można używać komentarzy warunkowych dostać IE i Firefox robić różne rzeczy

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

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

Przeglądarki sami ignorują kodu, które nie mają dla nich czytać.

Odpowiedział 01/08/2008 o 19:08
źródło użytkownik

głosy
4

Znalazłem dobry artykuł na temat korzystania z WMP z Firefox na MSDN.

W oparciu o artykuł MSDN i po wykonaniu kilku prób i błędów, znalazłem za pomocą JavaScript jest lepsza niż przy użyciu komentarzy warunkowych lub zagnieżdżone „EMBED / object” tagi.

Zrobiłem funkcję JS, które generują obiektu WMP na podstawie podanych argumentów:

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

Następnie użyłem tej funkcji pisząc niektóre znaczniki i wbudowanych JS, takie jak:

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

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

Można użyć jQuery.ready zamiast przypadku obciążenia okno do dokonywania kody więcej wstecznie kompatybilny i cross-browser.

Testowałem kody ciągu 9-10 IE, Chrome 27, Firefox 21, Opera 12 oraz Safari 5, na Windows 7/8.

Odpowiedział 06/06/2013 o 17:03
źródło użytkownik

głosy
4

Kodowanie Flash Video jest rzeczywiście bardzo łatwe z ffmpeg. Można użyć jednego polecenia przekonwertować z niemal dowolnego formatu wideo ffmpeg jest wystarczająco inteligentny, aby dowiedzieć się resztą, i będzie ona wykorzystywać każdy procesor na komputerze. Wywoływanie to jest proste:

ffmpeg -i input.avi output.flv

ffmpeg odgadnie na bitrate chcesz, ale jeśli chcesz, aby określić jeden, można użyć opcji -b, więc -b 500000jest 500Kbps dla przykładu. Jest mnóstwo opcji, oczywiście, ale ogólnie dobre wyniki bez większego majsterkowania. Jest to dobre miejsce, aby rozpocząć, jeśli szukasz więcej opcji: opcje wideo .

Nie trzeba specjalnego serwera WWW, aby wyświetlić film flash. Zrobiłem po prostu w porządku, po prostu przesuwając .flv pliki do standardowego serwera WWW oraz linkami do nich z dobrym odtwarzaczem swf, jak Flowplayer .

WMVs są w porządku, jeśli można mieć pewność, że wszyscy użytkownicy będą zawsze wykorzystywać [aktualna do aktualnej wersji] tylko w systemie Windows, ale nawet wtedy, Flash jest często lepsze dopasowanie do sieci. Odtwarzacz jest nawet bardzo skinnable i może być sterowany z javascript.

Odpowiedział 04/08/2008 o 03:14
źródło użytkownik

głosy
3

Znalazłem coś, co faktycznie działa zarówno w Firefox i IE, na miejscu Elizabeth Castro (dzięki link na tej stronie) - Próbowałem wszystkie inne wersje tutaj, ale nie mógł ich pracy w obu przeglądarkach

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

Sprawdzić jej site out: http://www.alistapart.com/articles/byebyeembed/ i wersję z classid w początkowej znacznika object

Odpowiedział 06/11/2009 o 21:00
źródło użytkownik

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