2011-07-30 65 views
0

我已經得到了以下JavaScript來創建視頻播放器的HTML。我使用Javascript,因爲這是我可以告訴玩家播放哪個視頻的唯一方式。Javascript的緩存視頻播放器

function createPlayer(videoSource){ 
      document.writeln("<div id=\"player\">"); 
      document.writeln("<object width=\"489\" height=\"414\" >"); 
      document.writeln("<param name=\"player\" value=\"bin-debug/FlexPlayer.swf\">"); 
//etc 

問題是FlexPlayer.swf每次都在加載,我需要緩存這個SWF文件。也許我應該使用Javascript構造函數,但不知道在這種情況下。任何代碼的幫助將不勝感激。

回答

1

如果你的視頻播放器是flex(我猜測它是flex標籤和bin-debug文件夾) - 你應該調用flex應用程序來設置視頻。

您可以允許flex和javascript相互通信,而無需在HTML中嵌入不同的版本!這真棒,檢查出來...

在Flex應用,它被初始化後,您可以添加這樣的事情:

ExternalInterface.addCallback('playVideoFromJS' , playVideo); 

什麼上面的確是暴露了一個名爲「playVideoFromJS」能功能被稱爲您的JavaScript,將執行Flex應用程序中的'playVideo'功能!整齊!

然後在你的Flex應用程序添加一個功能,像這樣的地方:

public function playVideo (videoToPlay : String) : void { 
    ...play video code here 
} 

然後在JavaScript中,實際上你可以打電話給你的Flex功能的playVideo!在這裏ExternalInterface的

myFlexAppName.playVideoFromJS('myvideoofile.flv'); 

的更多信息:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6#addCallback()

+0

嗯,聽起來很有趣。但我應該如何緩存FlexPlayer。因爲點擊某個視頻鏈接後,彈性播放器每次都會初始化(白色加載條),這意味着它沒有被緩存。 – George