0

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

事情很简单。

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

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

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

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

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

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

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

提前非常感谢。

4

1 回答 1

2

终于开工了。我发布分析器以防有人需要这样做。

我假设您将使用 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();
于 2012-11-29T10:10:00.363 回答