在OSMF中使用NetStream和MediaPlayerSprite

时间:2012-11-26 12:42:05

标签: actionscript-3 flash flash-builder osmf

也许我正在尝试的是不可能或没有意义,但这是一项要求。

事情很简单。

我使用OSMF编写视频播放器。如果我创建一个MediaPlayerSprite并使用URLResource设置它的资源,一切正常。我可以播放任何支持的http或rtmp流视频(flv,mp4,mpeg等)。

但现在我需要使用NetStream类来使用它的一些方法。

我使用NetStream类的时间是使用flash Video对象进行流式传输,但现在我想将它与OSMF一起使用。

所以我的问题是,是否可以使用MediaPlayerSprite(和所有OSMF功能),但也可以使用NetStream方法(特别是attachNetStream)来控制MediaPlayerSprite对象中播放的视频?

是的,就是这样......使用attachNetStream和MediaPlayerSprite来处理视频。

为什么呢?我正在使用客户端提供的与Flash Video对象一起使用的NetStream子类,当然不使用MediaPlayerSprite,如果我使用任何客户端的类方法,显然我会崩溃。

那么你们将如何实现这一目标呢?扩展任何课程?修改OSMF构建?

提前多多感谢。

1 个答案:

答案 0 :(得分:2)

终于开始工作了。 如果有人需要这样做,我会发布anser。

我假设您将使用MediaPlayer或MediaPlayerSprite来加载视频。 因此,我们在舞台上创建视频对象,然后使用VideoElement加载数据。

var mps:MediaPlayerSprite = new MediaPlayerSrpite();
var resource:URLResource = new URLResource("http://example.com");
mps.media = new VideoElement(resource, new NetLoader());

但是为了在OSMF fwk中使用自定义NetStream和NetConnection,你需要显然覆盖NetLoader类的createNetStream方法和NetConnectionFactoryBase的create方法。

  • NetConnectionFactoryBase将创建NetConnection对象并将其作为参数传递给createNetStream。
  • NetLoader将创建并返回播放器NetStream对象。

然后您可以使用任何MediaPlayer事件或方法来控制播放,如

mps.mediaPlayer.play();