Flash dans mediaelement.js affiche uniquement le « fichier de téléchargement »

StackOverflow https://stackoverflow.com/questions/9450870

  •  13-11-2019
  •  | 
  •  

Question

J'aimerais que la solution de secours Flash pour mediaelement.js fonctionne, mais elle n'affiche qu'une zone noire indiquant « télécharger le fichier » en haut à gauche.Le balisage vidéo que je génère ressemble beaucoup à ceci.Je viens de modifier certains chemins pour des raisons de confidentialité :

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

Y a-t-il manifestement quelque chose de mal à cela ?Existe-t-il un moyen d'obtenir une sortie de débogage ?Quand le message « télécharger le fichier » apparaît-il ?La page mediaelement.js ne le mentionne nulle part.J'ai d'abord pensé que l'un des chemins devait être erroné, mais je ne vois aucune requête ayant échoué dans les outils de débogage de Chrome.

Toute aide est appréciée !

MODIFIER:J'ai extrait un exemple minimal du code défaillant et je l'ai téléchargé ici

Était-ce utile?

La solution

1) Vous n'avez pas précisé <source/> vidéo intérieure - c'est pourquoi cela ne fonctionne pas.Vous devez spécifier plusieurs <source/>c'est pour que cela fonctionne dans différents navigateurs - voir "Option B" sur http://mediaelementjs.com/ .

Le lien "Télécharger le fichier" est en effet généré par la logique MediaElement (voir mediaelement-and-player.js:1027).

2) La solution de secours Flash ne sera invoquée que si le navigateur ne prend pas en charge <video> étiqueter.Pour le tester dans un navigateur qui le fait, remplacez "<video>" par une balise non valide - par exemple "<voodeo>".

Voici le code corrigé (certains chemins ont été remplacés pour pouvoir le tester) :

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

Autres conseils

Comme Ivan_Pozdeev a indiqué, vous devez spécifier une balise SRC dans votre élément vidéo.Cependant, vous n'avez pas besoin de fournir de multiples sources de mediez.js à travailler sur différents navigateurs.

Dans votre cas, vous pouvez fournir un seul fichier .mp4 et fonctionnera sur les navigateurs (voir l'étape 2: option A à http://www.mediaelementjs.com ) tant que vous avez installé Flash ou Silverlight (la fonctionnalité "Fall-Fausse" de moi).

"Fichier de téléchargement" apparaîtra lorsque HTML5 n'est pas originaire du navigateur que vous utilisez et que vous ne disposez pas du plug-in respectif (I.E. Flash ou Silverlight) installé.Dans MediaElement et joueur.js, rupture de la ligne 162 (var pv= ceci.plugins [plugin];) - Si "PV" a une valeur de "0, 0, 0", le MediaElement n'a pas détecté un plugin et vousrecevra le lien "Fichier de téléchargement".

Si vous essayez de faire une vidéo YouTube et que cela montre cela, que s'est-il passé, j'ai oublié de mettre de type="vidéo / youtube" dans la balise source.Il était juste défini sur taper="vidéo"

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top