2010-11-23 42 views
0

我使用jsvideo作爲主要的HTML5視頻,但它使用流水遊戲作爲其閃回fallback ...我有它的工作,除了流水遊戲使用的swf文件需要來自http源...有沒有辦法做到這一點,我可以把文件放在我的服務器上?(Flash)Flowplayer源碼 - 是否必須來自http://?

UPDATE:這是我使用的實際代碼 - 在閃回回退部分中,我試圖直接引用swf媒體,但它不起作用。只有這樣,如果我參考了flowplayer.org/swf/flowplayer-3.2.1.swf的 「data」, 「param name =」movie「value =」和「param name =」flashvars「... url 「

$.fancybox({ 
       'padding': 0, 
       'overlayOpacity': 0.7, 
       'autoDimensions': false, 
       'width': 650, 
       'height': 274, 
       'content': '<div><div class="video-js-box">' + 
          '<video id="example_video_1" class="video-js" width="640" height="264" controls="controls" preload="auto" poster="' + url + '.png">' + 
          '<source src="' + url + '.mp4" />' + 
          '<source src="' + url + '.webm" />' + 
          '<source src="' + url + '.ogv" />' + 
           '<!-- Flash Fallback. Use any flash video player here. Make sure to keep the vjs-flash-fallback class. -->' + 
           '<object id="flash_fallback_1" class="vjs-flash-fallback" width="640" height="264" type="application/x-shockwave-flash"' + 
           'data="/Content/media/flowplayer-3.2.1.swf">' + 
           '<param name="movie" value="/Content/media/flowplayer-3.2.1.swf" />' + 
           '<param name="allowfullscreen" value="true" />' + 
           '<param name="flashvars" value=\'config={"playlist":["' + url + '.png", {"url": "/Content/media/oceans-clip.mp4","autoPlay":false,"autoBuffering":true}]}\' />' + 
           '<!-- Image Fallback. Typically the same as the poster image. -->' + 
           '<img src="' + url + '.png" width="640" height="264" alt="Poster Image"' + 
           ' title="No video playback capabilities." />' + 
           '</object>' + 
          '</video>' + 
          '</div></div>', 
       'onComplete': function() { $("#fancybox-inner").css({ 'overflow': 'hidden' }); }, 
       'onClosed': function() { $("#fancybox-inner").empty(); } 
      }); 

您發現所有的HTML5視頻源可以來自‘/Content/media/name.mp4’裏的SWF文件(具體的Flowplayer-3.2.1.swf和‘URL’需要來自一個http://源

(雖然PNG文件,我可以在本地參考)

是沒有解決這個方式希望這是有道理的

+0

跟着你的HTTP流量,並確保你沒有得到任何404s。 '/'將指向您的服務器的webroot。這樣做:'../../content/video.mp4'實際上是一個相對於你的SWF的路徑。 – gthmb 2010-11-23 19:08:21

回答

1

您必須將引用作爲絕對HTTP文件傳遞,因爲您正在從flowplayer.org域請求SWF。

在Flash中,相對路徑是基於SWF是擔任從(在這種情況下http://releases.flowplayer.org/swf/),而不是從包含嵌入SWF(即您的HTML頁面)的HTML頁面的目錄中。

如果你想使用相對於你的服務器的相對路徑,那麼你將需要在你的服務器上託管​​。用絕對http URI鏈接到您的視頻可能更容易。

+0

我更新了源代碼,並且我沒有工作 - 所以它不再從http://releases.flowplayer.org/swf/提供。我在做什麼錯誤 – Jerrold 2010-11-23 18:43:13

1

像gthmb說的你必須使用你的SWF的目錄。這裏是一個工作示例:

<object type="application/x-shockwave-flash" data="/Tools/flowplayer-3.2.12.swf" width="600px" height="338px"> 
          <param name="movie" value="Tools/flowplayer-3.2.12.swf"> 
          <param name="allowFullScreen" value="true"> 
          <param name="wmode" value="transparent"> 
          <param name="flashVars" value="config={'playlist':['../Video/myVideo.jpg',{'url':'../Video/myVideo.mp4','autoPlay':false}]}"> 
          <img src="video/myVideo.jpg" width="600px" height="480px"></object></video> 

我必須使用「../」去上一個目錄。 「工具」和「視頻」目錄在同一層。

相關問題