2011-04-12 78 views
2
  1. 由於某些原因,我無法使用mediaelement.js Flash播放器在Firefox中工作。我正在使用.m4v和.mp4文件來測試它。mediaelement.js Flash Firefox

    我知道Firefox不能在其原生的HTML5播放器中播放.m4v或.mp4,但我們不想爲一些視頻編碼.ogv和.webm。

    直到.webm接管市場。

    默認Flash播放器9及以上本來應該播放.mp4和.m4v版本。

  2. 此外,如果我們使用多個來源的選擇和對象標籤具有 <param name="flashvars" value="controls=true&poster=../media/echo-hereweare.jpg&file=../media/echo-hereweare.mp4" />

    是海報和文件路徑能夠使用http://網址,而非相對網址的?

  3. 在測試Firefox我都用了此選項:

    <video width="640" height="360" src="../media/echo-hereweare.mp4" 
    type="video/mp4" id="player1" poster="../media/echo-hereweare.jpg" 
    controls="controls" preload="none"></video> 
    

    低於這個選項:

    <video width="640" height="360" id="player2" 
    poster="../build/echo-hereweare.jpg" controls="controls" preload="none"> 
        <!-- MP4 source must come first for iOS --> 
        <source type="video/mp4" src="../build/echo-hereweare.mp4" /> 
    
        <!-- Fallback flash player for no-HTML5 browsers with JavaScript turned off --> 
        <object width="640" height="360" type="application/x-shockwave-flash" data="../build/flashmediaelement.swf">   
         <param name="movie" value="../build/flashmediaelement.swf" /> 
         <param name="flashvars" value="controls=true&poster=../media/echo-hereweare.jpg&file=../build/echo-hereweare.mp4" />   
         <!-- Image fall back for non-HTML5 browser with JavaScript turned off 
           and no Flash player installed --> 
         <img src="../build/echo-hereweare.jpg" width="640" height="360" alt="Here we are" 
        title="No video playback capabilities" /> 
        </object> 
    </video> 
    

    的他們正在努力的都不是。 Flash皮膚會顯示,但功能不起作用。我可以看到時間軸,Big Play按鈕,音量,但沒有任何選擇。

  4. 奇怪的是我不得不使用jQuery實例化播放器以使皮膚可以在Chrome和IE上運行。在這些例子中,它沒有說明必須實例化它。只需指向文件。這是我的問題。

  5. Flash播放器在本地工作,當我做類似於我上面描述的,但不是我們的網站。我錯過了什麼嗎?

UPDATE:

實際的問題是與我們的活動網站上目前CSS的z-index衝突。 主要是我們的對象標籤和控件。

這是我們的解決方案超越玩家的CSS。

video{z-index:99999} 
.mejs-overlay-button{z-index:700} 
.mejs-overlay-play{} 
.mejs-container .mejs-controls{z-index:700} 
.mejs-container-fullscreen video{z-index:99999} 
.mejs-container .mejs-container-fullscreen{z-index:9999} 
.mejs-fullscreen-button{right:0;} 

不知道這是否會幫助其他人,但只是要小心它。

回答

1

如果它在本地工作,但不通過網絡服務器,它可能是mime類型。

選中此項:MediaElements – Installation

希望它有幫助。

+1

我發現實際問題是與我們當前的CSS存在z-index衝突。對象的z索引低於HTML5海報控件的z索引。所以如果有其他人遇到這種情況,請注意並檢查z-index問題。 – ClosDesign 2011-04-15 16:35:34

0

我與mediaelement player有類似的問題,其中正確的視頻類型沒有被優先考慮。似乎有時瀏覽器會表明它們支持其實際上不支持的格式。

在我的情況下,我使用的是FLV和M4V文件,iDevices嘗試播放FLV,但我會在這裏包含此解決方案,以防其他人在遇到問題時偶然發現此線索。

爲了解決這個問題我基本上是做了一些瀏覽器檢測與UA字符串,像this,然後相應地重新排序<source>元素:

function prioritizeFormat(mediaelement) 
{ 
    if (FORCE_M4V_VIDEOS) { // flag for mobile devices that think they can support FLV 
     $(mediaelement).find('source[type="video/m4v"]').after($(mediaelement).find('source[type="video/x-flv"]')); 
    } 
} 
0

我有同樣的問題。我沒有包含在我的服務器上的.swf文件。從build文件夾複製mediaelement.swf文件並正確地複製它。例如:

<video width="100%" height="auto" poster="some_image.jpg" controls="controls" autoplay="true"> 
    <source type="video/mp4" src="myvideo.mp4" /><source type="video/webm" src="myvideo.webm" /> 
    <source type="video/ogg" src="myvideo.ogv" /> 
    <object width="320" height="240" type="application/x-shockwave-flash" data="flashmediaelement.swf"><!--Proper href here--> 
     <param name="movie" value="flashmediaelement.swf" /> 
     <param name="flashvars" value="controls=true&file=myvideo.mp4" /> 
     <img src="myvideo.jpg" width="320" height="240" title="No video playback capabilities" /> 
    </object> 
</video> 
相關問題