将提示点用于字幕

提示点允许您与视频进行交互;例如,您可以影响 FLV 文件的播放或在视频播放到特定时间时显示文本。如果没有与 FLV 文件一起使用的 Timed Text XML 文件,可以在 FLV 文件中嵌入事件提示点,然后将这些提示点与文本相关联。本节介绍有关 FLVPlaybackCaptioning 组件提示点标准的信息,以及如何将这些提示点与字幕文本相关联。有关如何通过视频导入向导或 Flash Video Encoder 嵌入事件提示点的详细信息,请参阅 《使用 Flash》 中的第 16 章,“使用视频”。

了解 FLVPlaybackCaptioning 提示点标准

在 FLV 文件的元数据中,提示点表示为带有以下属性的对象: name time type parameters 。FLVPlaybackCaptioning ActionScript 提示点具有以下属性:

name
name 属性是一个字符串,其中包含为提示点分配的名称。 name 属性必须以 fl.video.caption.2.0. 为前缀并且后跟一个字符串。该字符串是一系列正整数,每次都会增加以使每个名称保持唯一。前缀包括也与 FLVPlayback 版本号匹配的版本号。对于 Adobe Flash CS4 及更高版本,必须将版本号设置为 2.0

time
time 属性是应显示字幕的时间。

type
type 属性是一个值为 "event" 的字符串。

参数
parameters 属性是一个支持以下名称-值对的数组:
text:String
用于字幕的 HTML 格式的文本。此文本直接传递给 TextField.htmlText 属性。FLVPlaybackCaptioning 组件支持可选的 text: n 属性,该属性支持使用多语言轨道。有关详细信息,请参阅 支持带有嵌入的事件提示点的多语言轨道

endTime:Number
字幕应消失的时间。如果您不指定此属性 FLVPlaybackCaptioning 组件将假定该属性不是一个数字 (NaN),并且字幕将始终显示,直到 FLV 文件结束(FLVPlayback 实例调度 VideoEvent.COMPLETE 事件 。以秒为单位指定 endTime:Number 属性。

backgroundColor:uint
此参数设置 TextField.backgroundColor 。此属性为可选属性。

backgroundColorAlpha:Boolean
如果 backgroundColor 的 alpha 值为 0%,则该参数设置 TextField.background = !backgroundColor 。此属性为可选属性。

wrapOption:Boolean
此参数将设置 TextField.wordWrap。此属性为可选属性。

了解嵌入的事件提示点的字幕

如果您没有包含 FLV 文件字幕的 Timed Text XML 文件,可以通过将包含字幕的 XML 文件与嵌入的事件提示点进行关联来创建字幕。该 XML 范例假定您已执行以下步骤在您的视频中创建了嵌入的事件提示点:

  • 添加事件提示点(遵循 FLVPlaybackCaptioning 标准),然后对视频进行编码。

  • 在 Flash 中,将一个 FLVPlayback 组件和一个 FLVPlaybackCaptioning 组件拖到舞台中。

  • 设置 FLVPlayback 和 FLVPlaybackCaptioning 组件的 source 属性(即您的 FLV 文件和 XML 文件的位置)。

  • 发布。

    以下范例将 XML 导入到编码器中:

    <?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
    <FLVCoreCuePoints> 
     
        <CuePoint> 
            <Time>9136</Time> 
            <Type>event</Type> 
            <Name>fl.video.caption.2.0.index1</Name> 
            <Parameters> 
                <Parameter> 
                    <Name>text</Name> 
                    <Value><![CDATA[Captioning text for the first cue point]]></Value> 
                </Parameter> 
            </Parameters> 
        </CuePoint> 
     
        <CuePoint> 
            <Time>19327</Time> 
            <Type>event</Type> 
            <Name>fl.video.caption.2.0.index2</Name> 
            <Parameters> 
                <Parameter> 
                    <Name>text</Name> 
                    <Value><![CDATA[Captioning text for the second cue point]]></Value> 
                </Parameter> 
            </Parameters> 
        </CuePoint> 
     
        <CuePoint> 
            <Time>24247</Time> 
            <Type>event</Type> 
            <Name>fl.video.caption.2.0.index3</Name> 
            <Parameters> 
                <Parameter> 
                    <Name>text</Name> 
                    <Value><![CDATA[Captioning text for the third cue point]]></Value> 
                </Parameter> 
            </Parameters> 
        </CuePoint> 
     
        <CuePoint> 
            <Time>36546</Time> 
            <Type>event</Type> 
            <Name>fl.video.caption.2.0.index4</Name> 
            <Parameters> 
                <Parameter> 
                    <Name>text</Name> 
                    <Value><![CDATA[Captioning text for the fourth cue point]]></Value> 
                </Parameter> 
            </Parameters> 
        </CuePoint> 
     
    </FLVCoreCuePoints>

    此外,FLVPlaybackCaptioning 组件还支持带有嵌入提示点的多语言轨道。有关详细信息,请参阅 支持带有嵌入的事件提示点的多语言轨道

支持带有嵌入的事件提示点的多语言轨道

只要 Timed Text XML 文件符合 FLVPlaybackCaptioning 提示点标准,FLVPlaybackCaptioning 的 track 属性还可支持带有嵌入提示点的多语言轨道。(有关详细信息,请参阅 了解 FLVPlaybackCaptioning 提示点标准 。)但是,FLVPlaybackCaptioning 组件不支持单独的 XML 文件中的多语言轨道。若要使用 track 属性,请将该属性设为不等于 0 的值。例如,如果将 track 属性设置为 1 ( track == 1) ,则 FLVPlaybackCaptioning 组件将搜索提示点参数。如果没有找到匹配项,将使用提示点参数中的 text 属性。有关详细信息,请参阅《ActionScript® 3.0 Reference for Adobe® Flash® Professional CS5》中的 track 属性。