سؤال

نحن نستخدم WMV أشرطة الفيديو على الموقع الداخلي ، ونحن دمجها في المواقع على شبكة الإنترنت.هذا يعمل بشكل جيد جدا على إنترنت إكسبلورر ، ولكن ليس على فايرفوكس.لقد وجدت طرق لجعلها تعمل في فايرفوكس ، ولكن بعد ذلك توقف عن العمل في Internet Explorer.

نحن لا نريد استخدام Silverlight فقط حتى الآن ، خصوصا أننا يمكن التأكد من أن جميع العملاء سوف تكون قيد التشغيل ويندوز XP مع ويندوز ميديا بلاير مثبتا.

هل هناك نوع من مدونة عالمية أن يضمن ومب في كل من إنترنت إكسبلورر وفايرفوكس ، أو هل نحن بحاجة إلى تنفيذ بعض user-agent-الكشف وتسليم HTML مختلفة لمختلف المتصفحات ؟

هل كانت مفيدة؟

المحلول

الأعمال التالية بالنسبة لي في فايرفوكس وإنترنت إكسبلورر:

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

نصائح أخرى

قد أقترح مسج الإعلام المساعد?ينص على تضمين قانون لجميع أنواع الفيديو ، ليس فقط WMV و لا متصفح الكشف عن حفظ كل تلك الفوضى التبديل/بيانات حالة من القوالب الخاصة بك.

الاستخدام التالية.يعمل في فايرفوكس وإنترنت إكسبلورر.

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

و في جافا سكريبت ،

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


        }

إليزابيث كاسترو مادة مثيرة للاهتمام على هذه المشكلة: وداعا تضمين.تستحق القراءة على كيف أنها هاجمت هذه المشكلة ، وكذلك التعامل مع المحتوى كويك تايم.

هل يمكن استخدام المشروط التعليقات على IE و Firefox أن تفعل أشياء مختلفة

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

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

المتصفحات أنفسهم سيتم تجاهل التعليمات البرمجية التي لا يقصد بها القراءة.

أفضل طريقة لنشر الفيديو على شبكة الإنترنت باستخدام فلاش - انها أسهل بكثير تضمين نظيفة في صفحة ويب وسوف تلعب على أكثر أو أقل من أي متصفح و منصة الجمع.السبب الوحيد لاستخدام ويندوز ميديا بلاير هو إذا كنت تدفق المحتوى وتحتاج قوية للغاية إدارة الحقوق الرقمية ، وحتى ذلك الحين مقدمي الآن البدء في استخدام الفلاش حتى هذه.انظر بي بي سي iPlayer على مثال رائع.

أود أن أقترح أن يمكنك التبديل إلى فلاش حتى للاستخدام الداخلي.أنت لا تعرف أبدا الذين سوف تحتاج إلى الوصول إليه في المستقبل ، وهذا سوف تعطيك أفضل مستقبل ممكن من التوافق.

تحرير - 20 مارس 2013.من المثير للاهتمام كيف أن هذه الأسئلة القديمة تطفو على السطح من وقت لآخر!كيف مختلفة من العالم اليوم وكيف مؤرخة كل هذا يبدو.لا أنصح فلاش الطريق الوحيد اليوم بأي وسيلة - أفضل الممارسات في هذه الأيام ربما يكون استخدام HTML 5 إلى تضمين H264 ترميز الفيديو مع فلاش تراجع كما هو موضح هنا: http://diveintohtml5.info/video.html

ترميز الفيديو فلاش هو في الواقع من السهل جدا مع ffmpeg.يمكنك استخدام أمر واحد لتحويل من مجرد عن أي شكل شريط فيديو ، ffmpeg هو ذكي بما فيه الكفاية لمعرفة بقية و سيكون استخدام كل معالج على الجهاز الخاص بك.الاحتجاج فمن السهل:

ffmpeg -i input.avi output.flv

ffmpeg تخمين في البت تريد, ولكن إذا كنت ترغب في تحديد واحدة ، يمكنك استخدام الخيار-b ، لذلك -b 500000 هو 500kbps على سبيل المثال.هناك طن من الخيارات بالطبع ، ولكن عموما أنا الحصول على نتائج جيدة من دون ترقيع.هذا هو مكان جيد للبدء إذا كنت تبحث عن مزيد من الخيارات: خيارات الفيديو.

أنت لا تحتاج إلى الخاص إلى عرض الفيديو فلاش.لقد فعلت ما يرام ببساطة عن طريق الضغط .فلف الملفات إلى خادم الويب القياسية, و ربط لهم مع swf player, مثل فلووبلايير.

WMVs على ما يرام إذا كان يمكنك أن تكون متأكدا من أن كافة المستخدمين دائما استخدام [الآونة الأخيرة ، حتى تاريخ إصدار] ويندوز فقط, ولكن حتى ذلك الحين, فلاش غالبا ما تتناسب بشكل أفضل على شبكة الإنترنت.لاعب حتى للغاية سكينبل يمكن السيطرة عليها مع جافا سكريبت.

لقد وجدت مقالة جيدة حول باستخدام WMP مع فايرفوكس على MSDN.

على أساس قراءة المادة و بعد القيام ببعض التجارب والأخطاء ، وجدت باستخدام جافا سكريبت هو أفضل من استخدام التعليقات المشروطة أو متداخلة "EMBED/OBJECT" العلامات.

أنا قدمت شبيبة وظيفة التي تولد ومب كائن على أساس إعطاء الحجج:

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

ثم اعتدت أن وظيفة من خلال كتابة بعض هوامش الربح و مضمنة شبيبة مثل هذه:

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

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

يمكنك استخدام مسج.جاهزة بدلا من نافذة الحدث load إلى جعل رموز أكثر متوافقة عبر المتصفح.

أنا اختبار رموز أكثر من أي 9-10, كروم 27, فايرفوكس 21, أوبرا 12 و سفاري 5 على ويندوز 7/8.

لقد وجدت شيئا في الواقع يعمل في كل من فايرفوكس وإنترنت إكسبلورر ، إليزابيث كاسترو الموقع (بفضل وصلة على هذا الموقع) - لقد حاولت جميع إصدارات أخرى هنا, ولكن لا يمكن جعلها تعمل في كل المتصفحات

<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 في الأولي كائن الوسم

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top