Встраивание Windows Media Player для всех браузеров

голоса
53

Мы используем WMV видео на внутренний сайт, и мы встраивание их в веб - сайты. Это достаточно хорошо работает на Internet Explorer, но не на Firefox. Я нашел способы , чтобы сделать его работу в Firefox, но потом она перестает работать в Internet Explorer.

Мы не хотим использовать Silverlight только еще, тем более, что мы не можем быть уверены, что все клиенты будут работать под управлением Windows XP с установленным Windows Media Player.

Есть ли какое-то универсальный код, который встраивает в WMP как Internet Explorer и Firefox, или мы должны реализовать некоторые-агенты обнаружение пользователя и поставить другое HTML для разных браузеров?

Задан 01/08/2008 в 19:02
источник пользователем
На других языках...                            


9 ответов

голоса
42

Следующие работы для меня в Firefox и 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>
Ответил 03/08/2008 в 15:27
источник пользователем

голоса
20

Могу ли я предложить JQuery плагин медиа ? Предоставляет код встраивания для всех видов видео, а не только WMV и делает обнаружение браузера, сохраняя все , что беспорядочные заявления переключателя / случая из ваших шаблонов.

Ответил 08/08/2008 в 19:29
источник пользователем

голоса
8

Используйте следующее. Он работает в Firefox и 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" />

И в 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)
        } 


        }
Ответил 04/08/2009 в 15:55
источник пользователем

голоса
7

Элизабет Кастро имеет интересную статью по этой проблеме: Bye Bye Вставить . Стоит читать о том , как она атаковала эту проблему, а также обработки контента QuickTime.

Ответил 10/11/2008 в 20:52
источник пользователем

голоса
6

Лучший способ развертывания видео в Интернете использует Flash - это гораздо легче вставлять чисто в веб-страницы и играть на более или менее любого браузера и комбинации платформы. Единственная причина для использования Windows Media Player, если вы потокового контента, и вы должны чрезвычайно сильное управление цифровыми правами, и даже тогда провайдеры теперь начинают использовать Flash, даже для них. Смотрите Iplayer BBC для превосходного примера.

Я хотел бы предложить вам перейти на флэш даже для внутреннего использования. Вы никогда не знаете, кто будет нужен доступ в будущем, и это даст вам наилучший будущей совместимости.

EDIT - 20 марта 2013 г. Интересно , как эти старые вопросы возродиться время от времени! Чем отличается мир сегодня и как датированный все это кажется. Я бы не рекомендовал только флэш - маршрут сегодня любыми средствами - лучшая практика в эти дни, вероятно , будет использовать HTML 5 , чтобы вставить H264 закодированное видео с флэш - запасной вариант , как описано здесь: http://diveintohtml5.info/video.html

Ответил 02/08/2008 в 12:05
источник пользователем

голоса
5

Вы можете использовать условные комментарии, чтобы получить IE и Firefox, чтобы делать разные вещи

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

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

Браузеры сами будут игнорировать код, который не предназначен для них, чтобы читать.

Ответил 01/08/2008 в 19:08
источник пользователем

голоса
4

Я нашел хорошую статью об использовании WMP с Firefox на MSDN.

На основании статьи MSDN и после выполнения некоторых проб и ошибок, я нашел с помощью JavaScript лучше использовать условные комментарии или вложенные тег «EMBED / OBJECT».

Я сделал функцию JS, которые генерируют объект WMP на основе заданных аргументов:

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

Тогда я использовал эту функцию, написав несколько пометок и встроенные JS, как эти:

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

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

Вы можете использовать jQuery.ready вместо события окна загрузки , чтобы сделать коды более обратную совместимость и кросс-браузер.

Я проверил коды над IE 9-10, Chrome 27, Firefox 21, Opera 12 и Safari 5, на Windows, 7/8.

Ответил 06/06/2013 в 17:03
источник пользователем

голоса
4

Кодирование видео вспышки на самом деле очень легко с помощью FFmpeg. Вы можете использовать одну команду для преобразования практически любого формата видео, FFmpeg достаточно умна, чтобы понять остальные вне, и он будет использовать каждый процессор на вашей машине. Вызов его легко:

ffmpeg -i input.avi output.flv

FFmpeg будет угадывать битрейт вы хотите, но если вы хотите , чтобы указать один, вы можете использовать опцию -b, так -b 500000это 500 кб, например. Там тонна вариантов, конечно, но я в целом получить хорошие результаты без особых лужения. Это хорошее место , чтобы начать , если вы ищете больше вариантов: видео опций .

Вам не нужен специальный веб - сервер для просмотра флэш - видео. Я сделал просто отлично, просто нажав .flv файлов до стандартного веб - сервера, а также ссылки на них с хорошим SWF Player, как FlowPlayer .

WMVs хорошо, если вы можете быть уверены, что все пользователи всегда будут использовать [в последнее время, вплоть до даты версии] только для Windows, но даже тогда, Flash часто лучше подходят для Интернета. Игрок даже очень и скины можно управлять с помощью JavaScript.

Ответил 04/08/2008 в 03:14
источник пользователем

голоса
3

Я нашел то, что на самом деле работает в обоих FireFox и IE, на сайте Элизабет Кастро (спасибо ссылку на этот сайт) - я перепробовал все другие варианты здесь, но не может заставить их работать в обоих браузерах

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

Проверьте свой сайт из: http://www.alistapart.com/articles/byebyeembed/ и версию с ClassID в начальном теге объекта

Ответил 06/11/2009 в 21:00
источник пользователем

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