动态回放外部 FLV 文件

作为将视频导入 Flash 创作环境的替代方法,您可以在 Flash Player 中使用动作脚本动态回放外部 FLV 文件。您可以通过 HTTP 地址或从本地文件系统回放 FLV 文件。若要回放 FLV 文件,您可以使用 NetConnection 和 NetStream 类以及 Video 类的 attachVideo() 方法。(有关完整的信息,请参见 NetConnection 类、NetStream 类 和 Video.attachVideo()。)

您可以通过将视频导入 Flash 创作工具然后将其以 FLV 文件的形式导出来创建 FLV 文件。(请参见 Macromedia Flash 视频 (FLV)。)如果您具有 Flash Professional,则可以使用 FLV Export 插件从支持的视频编辑应用程序导出 FLV 文件。(请参见从视频编辑应用程序中导出 FLV 文件(仅限 Flash Professional)。)

使用外部 FLV 文件可以提供使用导入的视频时不可用的某些功能:

以下步骤介绍如何回放名为 videoFile.flv 的文件,该文件与您的 SWF 文件存储在同一个位置。

在 Flash 文档中回放外部 FLV 文件:

  1. 当在 Flash 创作工具中打开文档时,在“库”面板(“窗口”>“库”)中选择“库选项”菜单中的“新建视频”以创建一个视频对象。
  2. 将视频对象从“库”面板拖放到舞台上。这将创建一个视频对象实例。
  3. 当在舞台上选中视频对象时,在属性检查器(“窗口”>“属性”)中的“实例名称”文本框中输入 my_video。
  4. 打开“组件”面板(“窗口”>“开发面板”>“组件”)并将 TextArea 组件拖到舞台上。
  5. 当在舞台上选中 TextArea 对象时,在属性检查器的“实例名称”文本框中输入 status。
  6. 在时间轴中选择第 1 帧,然后打开“动作”面板(“窗口”>“开发面板”>“动作”)。
  7. 将以下代码添加到“动作”面板中:
    // 创建一个 NetConnection 对象:
    var netConn:NetConnection = new NetConnection();
    // 创建一个本地流连接:
    netConn.connect(null);
    // 创建一个 NetStream 对象并定义一个 onStatus() 函数:
    var netStream:NetStream = new NetStream(netConn);
    netStream.onStatus = function(infoObject) {
      status.text += "Status (NetStream)" + newline;
      status.text += "Level:"+infoObject.level + newline;
      status.text += "Code:"+infoObject.code + newline;
    };
    // 将 NetStream 视频输入信号附加到 Video 对象:
    my_video.attachVideo(netStream);
    // 设置缓冲时间:
    netStream.setBufferTime(5);
    // 播放 FLV 文件:
    netStream.play("videoFile.flv");