动态播放外部 FLV 或 F4V 文件

将视频导入到 FlashProfessional 创作环境的另一种方法是,使用 FLVPlayback 组件或 ActionScript 在 Flash Player 中动态播放外部 FLV 或 F4V 文件。也可以一起使用 FLVPlayback 组件和 ActionScript。

可以播放发布为 HTTP 下载文件或本地媒体文件的 FLV 或 F4V 文件。若要播放外部 FLV 或 F4V 文件,请将 FLV 或 F4V 文件发布至 URL(HTTP 站点或本地文件夹),并向 FlashProfessional 文档添加 FLVPlayback 组件或 ActionScript 代码,才能在运行时访问该文件和控制播放。

使用外部 FLV 或 F4V 文件可以提供使用导入的视频时不可用的下列功能:

  • 您可以使用较长的视频剪辑,而不会减慢播放速度。外部 FLV 或 F4V 文件是用“缓存内存”进行播放的,即分小段存储大文件并进行动态访问;它们需要的内存要少于嵌入的视频文件。

  • 外部 FLV 或 F4V 文件可以与在其中播放它的 FlashProfessional 文档有不同的帧频。例如,可以将 FlashProfessional 文档的帧频设为 30 fps,视频帧频设为 21 fps,从而能更好地控制以确保流畅播放视频。

  • 使用外部 FLV 或 F4V 文件,在加载视频文件时不需要中断 FlashProfessional 文档播放。导入的视频文件有时会中断文档播放以执行某些功能(例如访问 CD-ROM 驱动器)。FLV 或 F4V 文件可以独立于 FlashProfessional 文档执行一些功能,因此不会中断播放。

  • 对于外部 FLV 或 F4V 文件,更容易向视频内容添加字幕,因为可以使用回调函数访问视频的元数据。

有关播放 FLV 或 F4V 文件的详细信息,请参阅学习使用 Adobe Flash 中的 ActionScript 2.0 中的“动态播放外部 FLV 文件”或《ActionScript 3.0 开发人员指南》中的视频基础知识。

其他资源

下列资源提供了有关视频和 ActionScript 的其他信息:

视频教程:

  • 使用 ActionScript 3.0 创建视频播放器 (Creativecow.com)

  • 使用 ActionScript 2.0 创建视频播放器 (Creativecow.com)

文章:

  • 解析 ActionScript 3 Flash 视频库应用程序 (Adobe.com)

视频播放中使用的行为

视频行为提供一种方法控制视频播放。 行为是预先编写的 ActionScript 脚本,可将其添加到某个触发对象,以控制其他对象。 “行为”在不必创建 ActionScript 代码的情况下,就可以将 ActionScript 编码的强大功能、控制能力以及灵活性添加到文档中。 视频行为可以播放、停止、暂停、后退、快进、显示及隐藏视频剪辑。

若要使用行为控制视频剪辑,请使用“行为”面板将行为应用于触发对象(如影片剪辑)。 指定触发行为(如释放影片剪辑)的事件,选择目标对象(行为影响的视频),并在必要时选择行为的设置,如后退的帧数。

注:触发对象必须是影片剪辑。 不能将视频播放行为附加到按钮元件或按钮组件。

FlashProfessional 中的下列行为可控制嵌入的视频:

行为

目的

参数

播放视频

在当前文档中播放视频。

目标视频的实例名称

停止视频

停止该视频。

目标视频的实例名称

暂停视频

暂停该视频。

目标视频的实例名称

后退视频

按指定的帧数后退视频。

目标视频的实例名称

帧数

快进视频

按指定的帧数快进视频。

目标视频的实例名称

帧数

隐藏视频

隐藏该视频。

目标视频的实例名称

显示视频

显示视频。

目标视频的实例名称

使用行为控制视频播放

  1. 选择要触发该行为的影片剪辑。

  2. 在“行为”面板(“窗口”>“行为”)中,单击“增加”(+) 按钮,然后从“嵌入的视频”子菜单中选择所需的行为。

  3. 选择要控制的视频。

  4. 选择相对或绝对路径。

  5. 若有必要,选择行为参数的设置,然后单击“确定”。

  6. 在“行为”面板中的“事件”下,单击“释放时”(默认事件),然后选择一个鼠标事件。 若要使用“释放时”事件,请保持该选项不变。

FLVPlayback 组件

通过 FLVPlayback 组件,您可以将视频播放器包括在 Flash 应用程序中,以便播放通过 HTTP 渐进式下载的视频(FLV 或 F4V)文件,或者播放来自 Flash Media Server (FMS) 或 Flash Video Streaming Service (FVSS) 的 FLV 文件流。

FLVPlayback 组件具有下列功能:

  • 提供一组预制的外观,以自定义播放控件和用户界面的外观。

  • 使高级用户可以创建自己的自定义外观。

  • 提供提示点,以将视频与 FlashProfessional 应用程序中的动画、文本和图形同步。

  • 提供对自定义内容的实时预览。

  • 保持合理的 SWF 文件大小以便于下载。

    FLVPlayback 组件是用于查看视频的显示区域。 FLVPlayback 组件包含 FLV 自定义用户界面控件,这是一组控制按钮,用于播放、停止、暂停和播放视频。

配置 FLVPlayback 组件

  1. 在舞台上选定 FLVPlayback 组件后,打开属性检查器(“窗口”>“属性”),然后输入实例名称。

  2. 选择属性检查器中的“参数”,或打开组件检查器(“窗口”>“组件”)。

  3. 输入参数值或使用默认设置。

    对于每个 FLVPlayback 组件实例,都可以在“属性”检查器或“组件”检查器中设置下列参数:

    注:  在大多数实例中,除非要更改视频外观的显示效果,否则无需更改 FLVPlayback 组件中的设置。 “视频导入”向导足以满足大部分部署的配置参数的需求。

    autoPlay

    用于确定如何播放 FLV 或 F4V 的布尔值。如果设为 true,则视频在加载后立即播放。如果设为 false,则在加载第一帧后暂停。 默认值为 true


    autoRewind

    用于确定视频是否自动后退的布尔值。如果设为 true,则当播放头到达末尾或用户单击停止按钮时,FLVPlayback 组件自动将视频后退到开始处。如果设为 false,则该组件不自动后退视频。默认值为 true


    autoSize

    一个布尔值,如果设为 true,则在运行时将组件的大小调整为使用源视频尺寸。默认值为 false

    注:  视频的编码后的帧大小与 FLVPlayback 组件的默认尺寸不同。


    bufferTime

    开始播放前要缓冲的秒数。 默认值是 0。


    contentPath(AS2 文件)

    一个字符串,用于指定 FLV、F4V 的 URL,或指定用于描述如何播放视频的 XML 文件的 URL。双击此参数的“值”单元格可以激活“内容路径”对话框。 默认值为空字符串。 如果您没有为 contentPath 参数指定值,当 FlashProfessional 执行 FLVPlayback 实例时,不会发生任何事情。


    源(AS3 文件)

    一个字符串,用于指定 FLV、F4V 的 URL,或指定用于描述如何播放视频的 XML 文件的 URL。双击此参数的“值”单元格可以激活“内容路径”对话框。 默认值为空字符串。 如果您没有为 contentPath 参数指定值,当 FlashProfessional 执行 FLVPlayback 实例时,不会发生任何事情。


    isLive

    一个布尔值,如果设为 true,则指定从 FMS 实时传送视频文件流。默认值为 false


    cuePoints

    一个字符串,用于指定视频的提示点。使用提示点可以将视频中特定的位置与 FlashProfessional 动画、图形或文本同步。默认值为空字符串。


    maintainAspectRatio

    一个布尔值,如果设为 true,则调整 FLVPlayback 组件中视频播放器的大小,以保持源视频的高宽比;源视频仍将被缩放,但不调整 FLVPlayback 组件本身的大小。autoSize 参数优先于此参数。 默认值为 true


    skin

    一个参数,用于打开“选择外观”对话框并允许您选择组件的外观。 默认值为 None。 如果选择 None,则 FLVPlayback 实例将不包含用户用来播放、停止、后退视频的控制元素,用户也无法执行与这些控件相关联的其他操作。如果 autoPlay 参数设置为 true,则会自动播放视频。有关详细信息,请参阅《使用 ActionScript 3.0 组件》中的“自定义 FLVPlayback 组件”或《ActionScript 2.0 组件语言参考》


    totalTime

    源视频中的总秒数。默认值是 0。 如果使用渐进式下载,FlashProfessional 会在此值设置为大于零 (0) 的值时使用此数字。 否则,FlashProfessional 将尝试使用元数据中的时间。

    注:  如果使用的是 FMS 或 FVSS,则此值将被忽略;视频的总时间将从服务器获取。


    volume

    一个介于 0 到 100 之间的数字,表示要设置的音量与最大音量相比所占的百分比。













指定 contentPath 或 source 参数

如果已将本地视频剪辑导入 FlashProfessional 中与渐进式下载的视频内容或流视频内容一起使用,请在将内容上载至 Web 服务器或 Flash Media Server 之前,更新 FLVPlayback 组件的 contentPath 参数(AS2 FLA 文件)或 source 参数(AS3 FLA 文件)。contentPathsource 参数指定服务器上视频文件的名称和位置,并可由此推测出播放方法(例如,渐进式下载使用的是 HTTP,而从 Flash Media Server 传送流使用的是 RTMP)。

  1. 在舞台上选定 FLVPlayback 组件后,打开属性检查器(“窗口”>“属性”),然后选择属性检查器中的“参数”,或打开组件检查器(“窗口”>“组件检查器”)。

  2. 输入参数值或使用相应的默认设置。 对于 contentPathsource 参数,执行以下操作: a) 双击 contentPathsource 参数的“值”单元格以激活“内容路径”对话框。b) 输入 URL 或本地路径,该 URL 或本地路径指向 FLV 或 F4V 文件,或指向描述如何播放视频的 XML 文件(用于 Flash Media Server 或 FVSS)。

    如果不知道视频或 XML 文件的位置,请单击文件夹图标导航到正确的位置。在浏览查找视频文件时,如果该文件与目标 SWF 文件处于同一位置或处于目标 SWF 文件的下级目录中,则 FlashProfessional 会自动将路径设置为该位置的相对路径,以便它可以从 Web 服务器提供服务。如果该文件不在上面所述的位置,则 Flash 会将路径设置为绝对 Windows 或 Macintosh 文件路径。

    如果指定一个 HTTP URL,则视频文件是使用渐进式下载的 FLV 或 F4V 文件。如果指定的 URL 是实时消息传递协议 (RTMP) URL,则从 Flash Media Server (FMS) 传送视频流。指向 XML 文件的 URL 也可以是来自 FMS 或 FVSS 的视频文件流。

    注:  当您单击“内容路径”对话框上的“确定”时,FlashProfessional 还会更新 cuePoints 参数的值,因为您可能更改了 contentPath 参数而导致 cuePoints 参数不再适用于当前的内容路径。 因此,您会失去所有禁用的提示点,但不会失去 ActionScript 提示点。 所以,您可能需要通过 ActionScript 而不是通过“提示点”对话框来禁用非 ActionScript 提示点。

    在指定 contentPathsource 参数时,FlashProfessional 会试图验证您指定的视频是否与 Flash Player 兼容。如果出现警告对话框,请尝试使用 Adobe Media Encoder 将视频重新编码为 FLV 或 F4V 格式。

    您还可以指定描述如何为多个带宽播放多个视频流的 XML 文件的位置。XML 文件使用同步多媒体集成语言 (SMIL) 来描述视频文件。有关 XML SMIL 文件的说明,请参阅《ActionScript 2.0 组件语言参考》中的“使用 SMIL 文件”。

媒体组件(Flash Player 6 和 7)

注:  Macromedia Flash MX Professional 2004 中引入了媒体组件,这些组件旨在用于 Flash Player 6 或 7。如果您要开发用于 Flash Player 8 的视频内容,则应改用在 Macromedia Flash Professional 8 中引入的 FLVPlayback 组件。FLVPlayback 组件提供了增强的功能,使您能够在 FlashProfessional 环境中更好地控制视频播放。

媒体组件包由三个组件构成:MediaDisplay、MediaController 和 MediaPlayback。 有了 MediaDisplay 组件,若要向 FlashProfessional 文档添加媒体,请将该组件拖到舞台并在组件检查器中对它进行配置。 除了可以在“组件”检查器中设置参数外,您还可以添加触发其他动作的提示点。 播放过程中,不会显示 MediaDisplay 组件;只显示视频剪辑。

MediaController 组件提供可让用户与流媒体交互的用户界面控件。 控制器具有“播放”、“暂停”和“后退到开始处”按钮以及一个音量控件。 它还包括播放条,可显示已载入的媒体和已播放的媒体量。 可以向前或向后拖动播放条上的播放头滑块,以便快速移动到视频的不同部分。 使用“行为”或 ActionScript,您可以轻松地将此组件链接到 MediaDisplay 组件,以显示视频流并提供用户控件。

通过 MediaPlayback 组件将视频和控制器添加到 FlashProfessional 文档,是最轻松快捷的方式。 MediaPlayback 组件将 MediaDisplay 和 MediaController 组件组合成一个单一的集成组件。 MediaDisplay 和 MediaController 组件实例自动相互链接以便进行播放控制。

若要配置所有这三个组件的播放、大小和布局参数,请使用“组件”检查器或“属性”检查器中的“参数”选项卡。 这三个媒体组件在处理 mp3 音频内容时的表现同样出色。

有关媒体组件的详细信息,请参阅《ActionScript 2.0 组件语言参考》中的“媒体组件”。

,