Apache flex 如何在OSMF中播放由teArray格式化的flv?

Apache flex 如何在OSMF中播放由teArray格式化的flv?,apache-flex,actionscript-3,osmf,Apache Flex,Actionscript 3,Osmf,我正在用flex开发一个web应用程序,它有一个记录运行时的特性,即每个帧都有一个快照,然后将其编码到ByteArray中进行视频播放 我目前正在使用NetStream.appendBytes()播放ByteArray FLV。它正在工作,但我刚刚了解了OSMF,并考虑将其集成到我的应用程序中 可以在OSMF中播放flv byteArray吗?举个例子说明如何做到这一点是非常好的。谢谢 我现在可以在OSMF中玩flv ByteArray了。在此之前,我已经能够通过创建一个扩展netStream的

我正在用flex开发一个web应用程序,它有一个记录运行时的特性,即每个帧都有一个快照,然后将其编码到ByteArray中进行视频播放

我目前正在使用NetStream.appendBytes()播放ByteArray FLV。它正在工作,但我刚刚了解了OSMF,并考虑将其集成到我的应用程序中


可以在OSMF中播放flv byteArray吗?举个例子说明如何做到这一点是非常好的。谢谢

我现在可以在OSMF中玩flv ByteArray了。在此之前,我已经能够通过创建一个扩展netStream的新类并重写其play方法来使用appendbytes来播放byteArray。所以我所做的就是让OSMF使用它。我创建了这些类: 1.ByTestStreamElement-媒体元素 2.ByTestStreamLoader-扩展LoaderBase 3.ByteStreamLoadTrait-扩展LoadTrait

重写Netstreams搜索/播放方法:

//manually dispatch seek event since we override seek()
dispatchEvent(new NetStatusEvent(NetStatusEvent.NET_STATUS,false,false, {code:"NetStream.Play.Seek", level:"status"})); 

//look for byte position based on _seekTime value
flvStream = _sfw.getFlvStream(false);  
_seekTime = parameters[1] * 1000; //netstream time in milliseconds
_flvParser.parse(flvStream, false, flvTagSeeker);
flvStream.position = _flvParserProcessed;

//append flvtag from the new byte position to end of flv byteArray 
var tmp:ByteArray = new ByteArray();
flvStream.readBytes(tmp, 0, flvStream.bytesAvailable);
_flvParserProcessed = 0;
this.appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK);
appendBytes(tmp)  
然后像这样使用它:

 mediaPlayerSprite = new MediaPlayerSprite();
 addChild(mediaPlayerSprite);
 mediaPlayerSprite.media = new  ByteStreamElement();

我真的不确定这是不是最好的方法。我不确定我是否最好创建新类,或者我应该为OSMF编写某种插件以用于播放ByteArray。另一件事是,我真正需要的是在播放器中连续添加字节,以备需要。这就是为什么我仍然没有使用这个,同时我会继续使用我定制的“ByTestStream播放器”,直到我弄明白这一点。

你能提供所有用于存档结果的代码吗?