动态回放外部 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");