2010-09-09 20 views
1

ASP.NET MVC2, Framework 3.5FlowPlayer - le gestionnaire d'erreur se déclenche sur l'une des deux machines, même code?

Machine 1: boîte de dev - Win7 Ultimate x64 (IIS 7.5), VS2010 ultime, Firefox 3.6

Machine 2: serveur dev - Win 2003 Server (IIS 6).

code sur le serveur est compilé à partir SVN et déployé dans les dossiers IIS sur le serveur par TeamCity.

Le problème est le suivant: J'ai une page qui montre une vidéo à l'aide FlowPlayer. J'ai assigné un gestionnaire d'erreur comme ceci:

<script language="javascript"> 

    function playerError(errorCode, errorMessage) { 
     window.location = "/videos/unavailable"; 
    } 

    flowplayer("player" 
    , "/scripts/flowplayer/flowplayer-3.2.2.swf" 
    , { 
     onError: playerError 
     , 
     clip: { autoPlay: false, autoBuffering: true } 
     } 
    ); 
</script> 

Lorsque le joueur ne peut pas trouver la vidéo, il est censé jouer, je pense à appeler son gestionnaire de onError, qui serait alors rediriger l'utilisateur vers la page « Non disponible ». Cela fonctionne comme prévu sur ma boîte de dev. Le code identique sur le serveur ne fonctionne pas. Je regarde les deux dans le même navigateur de la même machine.

C'est bizarre. Des idées?

Répondre

1

Transforme qu'il ya plusieurs façons d'encoder des fichiers vidéo. Dans les MP4 que nous utilisons, il apparaît qu'un bloc de méta-données contenant certains attributs requis pour commencer en train de lire le fichier peut se trouver à la fin du fichier, ou au début.

Pour le streaming, cela doit être au début du fichier. Sinon, le joueur doit télécharger le fichier entier avant de pouvoir commencer à jouer. Avec un fichier de 100 Mo, cela n'est évidemment pas idéal.

Il existe plusieurs utilitaires gratuits disponibles qui se déplacera cette tête à la position requise pour le streaming.

Espérons que cela vous aidera quelqu'un d'autre.