ActionScript - 从没有服务器的用户硬盘加载视频

时间:2009-11-03 20:24:20

标签: javascript flex actionscript-3

我需要在用户的硬盘上播放我的.swf电影(h264)。

不幸的是,as3组件只能从URL或流中读取,并且您无法在安全沙箱阻止您的情况下从c:/路径设置数据或加载。以下是每个组件加载的内容:

  • 视频>>的NetStream
  • VideoDisplay>> URL
  • VideoPlayer>> URL

我尝试将fileReference.data(byteArray)附加到所有这些内容,但似乎没有任何效果。

-

我的问题:有没有办法在不将视频(h254)实际上传到服务器的情况下执行此操作?

-

我已经读过可以做一个可以将数据上传到它然后将其传递到网络流的javascript,但我无法弄清楚如何自己做。

任何提示,黑客,想法都是受欢迎的。

非常感谢。

4 个答案:

答案 0 :(得分:5)

使用flash 10,您可以将文件加载到播放器中,而无需将其从服务器上弹回。以下是关于该主题的快速教程:http://www.thedesilva.com/2008/11/flash-10-file-reference/

答案 1 :(得分:2)

这实际上取决于swf的编译设置。规则是swf可以从服务器读取文件,也可以在本地读取文件。此外,swf无法加载另一个具有替代访问权限的swf。

要让swf通过Flash CS3读取硬盘驱动器,请打开FLA,转到“发布设置”,然后单击“Flash”。在底部有一个选择框,可让您选择是否要读取本地或网络文件。

Flex指令更复杂,但它们位于: http://livedocs.adobe.com/flex/3/html/help.html?content=05B_Security_04.html

答案 2 :(得分:1)

您在此处遇到了Flash Player沙箱安全策略。我可以想到在本地加载某些东西的唯一方法是运行一个充当HTTP服务器的独立应用程序,这样您就可以通过回送接口加载本地文件(带http://127.0.0.1/的URL)

答案 3 :(得分:0)

没有办法做到这一点......

唯一可行的解​​决方案是拥有一个航空应用程序。