2012-02-26 11 views
8

Chciałbym uzyskać wsparcie Flasha dla pliku mediaelement.js, ale pokazuje on tylko czarny obszar z napisem "pobierz plik" w lewym górnym rogu. Generowany przeze mnie znacznik wygląda bardzo podobnie. Właśnie zmodyfikowałem niektóre ścieżki ze względu na prywatność:Flash w mediaelement.js wyświetla tylko "plik do pobrania"

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

Czy coś jest z tym nie tak? Czy istnieje sposób na uzyskanie danych wyjściowych debugowania? Kiedy pojawia się plik "pobierz plik"? Strona mediaelement.js nie wspomina o tym w żadnym miejscu. Najpierw pomyślałem, że jedna z ścieżek musi być zła, ale nie widzę żadnych nieudanych próśb w narzędziach do debugowania Chrome.

Każda pomoc jest doceniana!

EDIT: Ja wybiłem minimalny przykład kodu upadającego i wysłał go here

Odpowiedz

11

1) nie określił <source/> wewnątrz wideo - dlatego nie działa. Musisz podać kilka numerów <source/>, aby działały w różnych przeglądarkach - patrz "Opcja B" pod adresem http://mediaelementjs.com/.

Łącze "Pobierz plik" jest rzeczywiście generowane przez logikę MediaElement (patrz mediaelement-and-player.js:1027).

2) Flashbackback zostanie wywołany tylko wtedy, gdy przeglądarka nie obsługuje tagu <video>. Aby przetestować go w przeglądarce, która ma zastąpić "<wideo>" z nieprawidłowym tagiem - powiedzmy "<voodeo>".

Oto kod stały (zastąpiony niektóre ścieżki, aby móc go przetestować):

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

Czy wiesz, dlaczego ścieżka do pliku musi być dwa razy? Raz w źródle i raz w flashvars? – ajmurmann

+0

TAK! Też się nad tym zastanawiałem. Faktem jest, że IE używa jednego z nich, podczas gdy drugi FF. –

1

Jak ivan_pozdeev stwierdził, trzeba zrobić, aby określić tag src w elemencie wideo. Jednak nie trzeba udostępniać wielu źródeł MediaElement.js do pracy w różnych przeglądarkach.

W twoim przypadku możesz dostarczyć pojedynczy plik .mp4 i będzie działać w różnych przeglądarkach (patrz Krok 2: Opcja A pod http://www.mediaelementjs.com), o ile masz zainstalowaną Flasha lub Silverlight (tj. Funkcję ME "Fall-Forward")).

"Pobierz plik" pojawi się, gdy HTML5 nie jest rodzimą przeglądarką, której używasz, i nie masz zainstalowanej odpowiedniej wtyczki (to znaczy Flasha lub Silverlighta). W mediaelement-and-player.js, włamanie do linii 162 (var pv = this.plugins [plugin];) - jeśli "pv" ma wartość "0, 0, 0", MediaElement nie wykrył wtyczki i ty otrzyma link "Pobierz plik".

0
Jeśli próbujesz zrobić film z youtube i pokazuje to, to co się stało, zapomniałem umieścić type = "video/youtube" w tagu źródłowym. Po prostu ustawiono na type = 'video'
Powiązane problemy