2011-02-24 4 views
5

Nous avons des problèmes avec Chrome qui se bloque, et il semble être lié au lecteur vidéo html5, est-il possible de forcer MediaElement.js à utiliser le lecteur Flash même si html5 est supporté? Je peux faire un test de navigateur dans jQuery si je peux comprendre quel paramètre passer à mediaelement.MediaElement.js - forcer Chrome à utiliser Flash Player?

J'ai vu quelques suggestions alléchantes dans les blogs et les forums que cela peut être fait, mais je ne vois pas une option spécifique dans la documentation. Toute aide sera la bienvenue!

+0

Je me demande si elle est liée à ceci: http://stackoverflow.com/questions/11393050 - J'ai eu des problèmes énormes obtenir des fichiers H264 à lire ou à tomber avec élégance retour au flash en utilisant me.js, videojs ou tout autre html5 avec la solution de repli ... le correctif peut-être-à-aucun semble fondamentalement faire revenir tous les navigateurs à Flash, y compris IE9 + ... –

Répondre

14

Ici, vous allez:

new MediaElementPlayer('video',{mode:'shim'}); 
+3

la liste de la documentation "toutes les options" manque l'option ci-dessus, me faisant me demander quoi d'autre est là! ;) – Tom

+0

Oui, besoin de faire une mise à jour des docs. Vous pouvez toujours vérifier les options dans le code pour voir ce qui est disponible. –

+1

Ajout de "mode: 'shim'" n'a aucun effet sur mon Chrome :( – greg

3

J'ai utilisé le mode:shim sur un site qui donnait des problèmes inexplicables avec l'interprétation de html5 IE9. Cependant, cette balise de mode a forcé tous les navigateurs à retomber en mode flash, ce qui n'était pas souhaitable.

J'utilise des commentaires conditionnels pour préciser IE9 et le forcer à utiliser le flash (ou SilverLight si c'est votre préférence)

var player = new MediaElementPlayer('video', { 
    /*@cc_on 
    @if (@_jscript_version == 9) 
      mode: 'shim', 
    @end 
    @*/ 
    // shows debug errors on screen 
    enablePluginDebug: false, 

    // etc... 
} 

Cela ne fonctionnera pas pour le chrome, et je ne sais pas d'un chrome solution de contournement spécifique, mais pour quiconque a trébuché sur cette réponse comme je l'ai fait pour les problèmes d'IE, j'espère que cela aide.

En référence à: Mediaelement.js malfunction in IE, no flashback works.

0

Vous devez modifier le code pour y parvenir. Vous trouverez ci-dessous le code donné dans le fichier MediaElement.js ou dans le fichier mediaelement-and-player.js.

t.supportsMediaTag = (typeof v.canPlayType !== 'undefined' || t.isBustedAndroid); 

à

t.supportsMediaTag = (!t.isChrome) && (typeof v.canPlayType !== 'undefined' || t.isBustedAndroid) ;