在Flash Player中播放ByteArray的FLV

bar*_*ekb 6 apache-flex flash video flv actionscript-3

我有一个存储在ByteArray对象中的flash视频文件(FLV),想播放这个视频.有没有办法实现它?也许使用炼金术?

谢谢!

Jac*_*ers 7

现在有一种更好的方式来播放存储在ByteArray使用中的视频NetStream.appendBytes().

以下是使用它的示例:http://www.bytearray.org/?p = 1689


bac*_*dos -4

我认为“为什么 ByteArray”实际上是问题......它是如何到达那里的?:)

有很多方法......康拉德给出了一种......但正如他所说,这会很慢......事实上,我认为它会比你想象的慢得多......所以这里还有另一种:

将 ByteArray 传递到服务器并从那里加载 flv ...有多种选择:

  • 远程服务器:将其加载到远程服务器(可能是分发您的 swf 的服务器)...仍然留下一个问题,为什么您不首先从那里分发 flv ...
  • 本地服务器:
    1. 安装:只需安装一个小型本地应用程序即可为您完成此操作,也就是说,您可以将字节数组推送到那里,然后通过合适的协议(HTTP,RTMP)检索它...
    2. 浏览器嵌入:与安装相同,但您可以简单地创建一个 Java Applet 来完成这项工作...允许签名的Java Applet 绑定端口(是的,这对用户来说是额外的点击,但它尽可能舒适get)这是您必须做的,其余的与安装的服务器实际上相同......

在这两种情况下,您可能会遇到跨域策略问题(可能仅在发送时,因为我认为您可以跨域加载视频),您需要正确响应 FlashPlayer 的策略文件请求(您可以在那)...您可以通过创建 LocalConnection 桥来绕过发送限制,就像C# 的一样...

那么祝你好运吧 ... ;)


编辑:啊好吧,现在我明白了...实际上,已经有一个非常相似的问题...我记得在p2p功能宣布后不久,对一些adobe人进行了一次简短的采访...adobe对此非常害羞。 ..实际上在Flash Player 10正式发布后我花了几周的时间才找到p2p(之前真的没有时间打扰)...

实际上,我认为这是故意的...在采访中,已经明确表示,adobe 并没有试图排斥视频流网站...最重要的两个可能是 youtube 和 google video ... youtube 是Flash 播放器最初变得如此流行的主要原因之一......它属于 google,就像 google video 一样......允许轻松创建 p2p 媒体平台会让 google 非常生气......你不知道不需要很多服务器......“只是”好的软件,但价格实惠......我认为,adobe 不想惹恼谷歌......一些原因:

  • 他们是搜索引擎
  • 他们需要谷歌允许索引基于 Flash 的网站
  • 谷歌大了n倍
  • 谷歌确实想获得 RIA 市场的一大块……他们有GWT、chrome、V8本机客户端……

所以我猜 adobe 没有那么多兴趣这样做……这有点像谷歌宣布他们的支付系统(是 GPay 之类的吗?),它是 PayPal 的直接并发…… eBay 是谷歌最重要的收入来源之一......实际上我再也没有听说过任何关于它的消息......

对于大公司来说,许多决定都是政治性的……我认为,不让 Flash Player 的 P2P 太强大就是其中之一……