1

我实现了一个 flex 应用程序来播放来自 Red5 媒体服务器的传入视频流。

private function playStream(streamName:String, offset:int):void {
  stream = new NetStream(connection);
  stream.play(streamName + ".flv", offset);
  var streamVideo:Video = new Video();
  streamVideo.attachNetStream(stream);
  display.addChild(streamVideo); }

playStream 方法从 offset 参数定义的位置播放给定的流。现在我想根据播放的视频流更新我的页面内容。或者更具体地说,我想在视频的每一分钟之后调用一个更新内容的 actionscript 方法。我应该出于这个原因使用 Timer 吗?

最好的祝福

4

1 回答 1

0

是的,您需要使用一个Timer对象。但不要使用Timer来确定用户在播放视频时所处的位置。您应该改用time的属性NetStream

您还应该NetStatusEvent在您的playStream()方法中添加一个事件侦听器。特别是,您要检查此事件的infoinfo.code属性(从技术上讲,它是属性)。这有几条有用的消息,您需要知道:视频播放何时开始/停止/暂停,用户何时执行搜索,等等。通过这种方式,您可以Timer在用户与视频播放器交互时有效地管理和更新 UI。

下面是一些相关的代码NetStatusEvent。但检查完整列表,您可能会发现其他对您有帮助的人。

  • NetStream.Pause.Notify(用户暂停播放,此处酌情启动/停止计时器)
  • NetStream.Play.Start(播放开始,启动定时器)
  • NetStream.Play.Stop(播放停止,停止定时器)
  • NetStream.Seek.Notify(用户搜索到新点,更新 UI)
于 2013-03-05T05:14:55.173 回答