Domanda

Vorrei far funzionare il Flash Fallback per MediaElement.js, ma mostra solo un'area nera che dice "Download file" in alto a sinistra. Il markup video che genero assomiglia molto a questo. Ho appena modificato alcuni percorsi per motivi di privacy:

<video width="1024" height="576" preload="none" style="display: none; ">
  <object width="1024" height="576" type="application/x-shockwave-flash" data="flashmediaelement.swf">
    <param name="movie" value="/wp-content/themes/my_theme/js/vendor/mediaelement/flashmediaelement.swf">
    <param name="flashvars" value="controls=true&amp;file=http://mybucket.s3.amazonaws.com/my_video.mp4">
   </object>
</video>

C'è qualcosa di ovviamente sbagliato in questo? C'è un modo per ottenere un output di debug? Quando viene visualizzata la cosa del "file di download"? La pagina di mediaelement.js non la menziona da nessuna parte. Ho pensato per la prima volta che uno dei percorsi dovesse essere sbagliato, ma non riesco a vedere alcuna richiesta non riuscita negli strumenti di debug di Chrome.

Qualsiasi aiuto è apprezzato!

EDIT: ho estratto un esempio minimo del codice fallito e l'ho caricato qui

È stato utile?

Soluzione

1) Non hai specificato <source/> All'interno del video: ecco perché non funziona. È necessario specificare più <source/>È che funzioni in diversi browser - vedi "Opzione B" a http://mediaelementjs.com/ .

Il collegamento "Download File" è effettivamente generato da MediaElement Logic (vedi mediaelement-and-player.js:1027).

2) Flash Fallback verrà invocato solo se il browser non supporta <video> etichetta. Per testarlo in un browser che lo fa, sostituire "u003Cvideo> "Con un tag non valido - dire"u003Cvoodeo> ".

Ecco il codice fisso (sostituito alcuni percorsi per essere in grado di testarlo):

<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript" src="http://ajmurmann.com/flash_test/mediaelement-and-player.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){        
            $('video').mediaelementplayer({
            enablePluginDebug: true,
            plugins: ['flash','silverlight']
        });
            });
        </script>
    </head>
    <body>
        <video width="1024" height="576" controls="controls">
            <!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 -->
            <source type="video/mp4" src="http://mediaelementjs.com/media/echo-hereweare.mp4" />
            <!-- WebM/VP8 for Firefox4, Opera, and Chrome -->
            <source type="video/webm" src="http://mediaelementjs.com/media/echo-hereweare.webm" />
            <!-- Ogg/Vorbis for older Firefox and Opera versions -->
            <source type="video/ogg" src="http://mediaelementjs.com/media/echo-hereweare.ogv" />
            <object width="1024" height="576" type="application/x-shockwave-flash" data="http://ajmurmann.com/flash_test/flashmediaelement.swf">
                <param name="movie" value="http://ajmurmann.com/flash_test/flashmediaelement.swf">
                <param name="flashvars" value="controls=true&amp;file=http://ajmurmann.com/flash_test/echo-hereweare.mp4">
            </object>
        </video>
    </body>
</html>

Altri suggerimenti

Come ha affermato Ivan_Pozdeev, è necessario specificare un tag SRC nel tuo elemento video. Tuttavia, non è necessario fornire più fonti per il mediaelement.js per lavorare su browser diversi.

Nel tuo caso, puoi fornire un singolo file .mp4 e funzionerà attraverso i browser (vedi passaggio 2: opzione A AT http://www.mediaelementjs.com) fintanto che hai installato Flash o Silverlight (cioè la funzionalità "autunno" di Me).

"Download File" verrà visualizzato quando HTML5 non è originario del browser che stai utilizzando e non si dispone del rispettivo plug -in (cioè flash o Silverlight). In MediaElement-and-Player.js, Break on Fine 162 (var pv = this.plugins [plugin];)-Se "pv" ha un valore di "0, 0, 0", MediaElement non ha rilevato un plug-in riceverà il link "Download File".

Se stai provando a fare un video di YouTube e sta mostrando questo, quello che è successo è stato dimenticato di mettere Type = "Video/YouTube" nel tag sorgente. Era solo impostato su tipo = 'video'

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top