2013-02-14 5 views
2

des problèmes avec jwplayer dans Internet Explorerjwplayer ne fonctionne pas dans Internet Explorer

Player version JW: 6.1.2972

<div id="mediaplayer_1294">JW Player goes here</div> 

<script type="text/javascript"> 
jwplayer("mediaplayer_1294").setup({ 
flashplayer: "jwplayer/jwplayer.flash.swf", 
file: "media.php?file=encoded_2012-10-19_17.13.24_1360841686.mp4&folder=shareddocs&user=9759", 
image: "media.php?file=encoded_2012-10-19_17.13.24_1360841686.jpg&folder=thumb&user=9759", 
controlbar: "bottom", 
width: "380", 
height: "200", 
primary: "html5", 
type: "mp4", 
controls: true, 
allowscriptaccess: 'always', 
bufferlength: 5 
}); 
</script> 

IE7: charges Il et joue très bien, mais j'obtenir ceci sur la console

LOG: Could not add internal listener 

IE8:

Error loading player: Could not load player configuration 

IE9:

Error loading media: File could not be played 

Et je reçois ceci sur la console:

LOG: Error playing media: [object MediaError] 
LOG: CAPTIONS([object Object]) 
LOG: CAPTIONS([object Object]) 

fonctionne très bien dans tous les autres navigateurs

MISE À JOUR:

Comme j'avais beaucoup de jwplayers dans une page (10 max) j'ai mis en place un clic pour charger les joueurs. Pour une raison quelconque cela a fixé le soit 8 question

<div class="player-<?php echo $row['p_id']; ?>"> 
<div id="mediaplayer_<?php echo $row['p_id']; ?>"></div> 
<a href="#player-<?php echo $row['p_id']; ?>" id="btn_<?php echo $row['p_id']; ?>"><img src="<?php echo $thumb_path; ?>"/></a> 
</div> 

<script type="text/javascript"> 
$(document).ready(function() { 
$("#btn_<?php echo $row['p_id']; ?>").click(function() { 
$(this).hide(); 
jwplayer('mediaplayer_<?php echo $row['p_id']; ?>').setup({ 
flashplayer: "jwplayer/jwplayer.flash.swf", 
file: "<?php echo $flv_path; ?>", 
image: "<?php echo $thumb_path; ?>", 
controlbar: "bottom", 
width: "380", 
height: "200", 
autostart: "true", 
primary: "html5", 
type: "mp4", 
controls: true, 
allowscriptaccess: 'always' 
}); 
jwplayer('mediaplayer_<?php echo $row['p_id']; ?>').load(); 
setTimeout(function(){$(".player-<?php echo $row['p_id']; ?>").focus();return false;},100); 
}); 
}); 
</script> 
+0

1) Mise à jour 6.2, qui a été publié. 2) En ce qui concerne les problèmes IE9, je suis à peu près certain que cela concerne votre TYPE MIME, mais pour le confirmer, avez-vous un lien? – emaxsaun

+0

Merci pour la réponse ..... J'ai mis à jour à 6.2.3115 et MIME TYPE est défini sur en-tête ('Content-Type: video/mp4'); Retested après la mise à jour et toujours la même chose. Son tout protégé par mot de passe donc je ne peux pas vous donner un lien, d'autres suggestions – Codded

+0

Cela devrait aller. J'aurais probablement besoin de voir un lien pour voir ce qui se passe. Pouvez-vous l'envoyer de cette façon? - http://www.longtailvideo.com/contact-us – emaxsaun

Répondre

2

vérifier l'en-tête de réponse quand il appelle le fichier .mp4.

Assurez-vous d'envoyer Content-Length: dans votre réponse. IE9 ne parvenait pas à charger les vidéos tant que l'en-tête de réponse content-length n'était pas ajouté à la configuration.

aussi Transfer-Encoding:chunked peut aussi gâcher les choses, ce qui est commun si vous gzippez le fichier MP4.

0

Si vous travaillez avec IE, vous pouvez utiliser un renifleur d'état du lecteur comme ci-dessous. Lorsque le lecteur est prêt pour les abonnements effectifs d'écouteur d'événement, l'état passe de non défini à une valeur de chaîne ('IDLE').

Ensuite, vous pouvez attacher des écouteurs d'événement lorsque vous détectez ce changement d'état.

Je suppose que c'est une solution qui doit être à l'intérieur du code jwplayer. :) J'utilise la version 5.9.2156.

//Use as an exambple, it may be buggy. 
var 
    MyObj = { 
     pool: 50, 
     interval: null, 
     videoElement: jwplayer('videoAd'), 
     attachEvents: function() { 
      this.interval = window.setInterval (_.bind(function() { 
      if (this.videoElement) { 
       var 
        state = this.videoElement.getState(); 

       if (typeof state !== 'undefined') { 
        window.clearInterval (this.interval); 
        this.videoElement 
        .onError(function() { console.log('jwplayer: onError') }) 
        .onReady(function() { console.log('jwplayer: onReady') }) 
        .onPlay(function() { console.log('jwplayer: onPlay') }) 
        .onComplete(function() { console.log('jwplayer: onComplete') }); 
       } 
      } 
     }, this), this.pool); 
    } 
}; 

MyObj.attachEvents(); 
0

Je suis tombé sur le même aujourd'hui. J'ai essayé de compiler la vidéo encore et encore. Mais toujours travailler uniquement dans Chrome, mais pas Internet Explorer de Firefox.

que je ne ai découvert pour changer le type MIME dans IIS pour mp4 de vidéo/mpeg video/mp4

qui était parfait :)

Questions connexes