使用 Timed Text 字幕

FLVPlaybackCaptioning 组件通过下载 Timed Text (TT) XML 文件来为关联的 FLVPlayback 组件实现字幕显示功能。有关 Timed Text 格式的详细信息,请查看 www.w3.org. 上的 AudioVideo Timed Text 信息。

本节简要介绍了受支持的 Timed Text 标签和必需的字幕文件标签,并且提供了一个 Timed Text XML 文件范例。有关所有受支持 Timed Text 标签的详细信息,请参阅 Timed Text 标签

FLVPlaybackCaptioning 组件支持以下 Timed Text 标签:

类别

任务

段落格式支持

右对齐、左对齐或居中对齐某个段落

文本格式支持

  • 以绝对像素大小或 delta 样式设置文本的大小(例如 +2、-4)

  • 设置文本颜色和字体

  • 将文本设为粗体和斜体

  • 设置文本对齐

其他格式支持

  • 设置字幕的 TextField 的背景颜色

  • 将字幕的 TextField 的背景颜色设置为透明 (alpha 0)

  • 设置字幕的 TextField 的自动换行(打开或关闭)

FLVPlaybackCaptioning 组件与 FLV 文件的时间代码相匹配。每个字幕必须有一个 begin 属性,以确定字幕应该在什么时间显示。如果字幕没有 dur end 属性,则显示下一个字幕或 FLV 文件结束时该字幕将消失。

以下是一个 Timed Text XML 文件的示例。该文件 (caption_video.xml) 为 caption_video.flv 文件提供字幕。可从以下位置访问上述文件: www.helpexamples.com/flash/video/caption_video.flv www.helpexamples.com/flash/video/caption_video.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <tt xml:lang="en" xmlns="http://www.w3.org/2006/04/ttaf1"xmlns:tts="http://www.w3.org/2006/04/ttaf1#styling"> 
<head> 
    <styling> 
<style id="1" tts:textAlign="right"/> 
<style id="2" tts:color="transparent"/> 
<style id="3" style="2" tts:backgroundColor="white"/> 
<style id="4" style="2 3" tts:fontSize="20"/> 
    </styling> 
</head> 
<body> 
    <div xml:lang="en"> 
<p begin="00:00:00.00" dur="00:00:03.07">I had just joined <span tts:fontFamily="monospaceSansSerif,proportionalSerif,TheOther"tts:fontSize="+2">Macromedia</span> in 1996,</p> 
<p begin="00:00:03.07" dur="00:00:03.35">and we were trying to figure out what to do about the internet.</p> 
<p begin="00:00:06.42" dur="00:00:03.15">And the company was in dire straights at the time.</p> 
<p begin="00:00:09.57" dur="00:00:01.45">We were a CD-ROM authoring company,</p> 
<p begin="00:00:11.42" dur="00:00:02.00">and the CD-ROM business was going away.</p> 
<p begin="00:00:13.57" dur="00:00:02.50">One of the technologies I remember seeing was Flash.</p> 
<p begin="00:00:16.47" dur="00:00:02.00">At the time, it was called <span tts:fontWeight="bold" tts:color="#ccc333">FutureSplash</span>.</p> 
<p begin="00:00:18.50" dur="00:00:01.20">So this is where Flash got its start.</p> 
<p begin="00:00:20.10" dur="00:00:03.00">This is smart sketch running on the <span tts:fontStyle="italic">EU-pin computer</span>,</p> 
<p begin="00:00:23.52" dur="00:00:02.00">which was the first product that FutureWave did.</p> 
<p begin="00:00:25.52" dur="00:00:02.00">So our vision for this product was to</p> 
<p begin="00:00:27.52" dur="00:00:01.10">make drawing on the computer</p> 
<p begin="00:00:29.02" dur="00:00:01.30" style="1">as <span tts:color="#ccc333">easy</span> as drawing on paper.</p> 
</div> 
</body> 
</tt>

Timed Text 标签

FLVPlaybackCaptioning 组件支持用于字幕 XML 文件的 Timed Text 标签。有关音频视频 Timed Text 标签的详细信息,请查看 www.w3.org 上的信息。下表列出了支持和不支持的标签。

函数

标签/值

用法/描述

示例

忽略的标签

metadata

在文档的所有级别上忽略或允许此标签

set

在文档的所有级别上忽略或允许此标签

xml:lang

忽略此标签

xml:space

忽略 / 将行为覆盖为:

xml:space="default"

layout

忽略此标签 / 包括 layout 标签部分中的所有 region 标签

br 标签

忽略所有属性和内容。

字幕的媒体定时

begin 属性

仅允许在 p 标签中使用。部署字幕媒体时间时需要此属性。

<p begin="3s">

dur 属性

仅允许在 p 标签中使用。建议使用。如果未包括此属性,则字幕将在 FLV 文件结束或另一字幕开始时结束。

end 属性

仅允许在 p 标签中使用。建议使用。如果未包括此属性,则字幕将在 FLV 文件结束或另一字幕开始时结束。

字幕的时钟定时

00:03:00.1

完整时钟格式

03:00.1

部分时钟格式

10

不带单位的偏移时间。偏移值以秒为单位。

00:03:00:05

00:03:00:05.1

30f

30t

不支持. 不支持含有帧或刻度的时间格式。

Body 标签

body

必需 / 只支持一个 body 标签。

<body><div>...</div></body>

Content 标签

div 标签

可以没有,也可以有一个或多个。使用第一个标签。

p 标签

可以没有,也可以有一个或多个。

span 标签

一系列文本内容单元的逻辑容器。不支持嵌套的 span。支持属性 style 标签。

br 标签

表示显式换行符。

样式标签

(所有 style 标签均在 p 标签内使用)

style

引用一个或多个 style 元素。可以用作标签和属性。用作标签时,需要 ID 属性(可在文档内重复使用该样式)。支持在 style 标签内部有一个或多个 style 标签。

tts:background Color

指定用于定义区域的背景颜色的样式属性。如果 Alpha 值未设置为零 (Alpha 0),则忽略 Alpha 值,以便使背景透明。颜色格式为 #RRGGBBAA。

tts:color

指定用于定义前景颜色的样式属性。对于任何颜色,均不支持使用 Alpha。值 transparent 对应黑色。

<style id="3" style="2" tts:backgroundColor="white"/>

"transparent" = #00000000

"black"=#000000FF

"silver"=#C0C0C0FF

"grey"=#808080FF

"white"=#FFFFFFFF

"maroon"=#800000FF

"red"=#FF0000FF

"purple"=#800080FF

"fuchsia"("magenta")=

#FF00FFFF

"green"=#008000FF

"lime"=#00FF00FF

"olive"=#808000FF

"yellow"=#FFFF00FF

"navy"=#000080FF

"blue"=#0000FFFF

"teal"=#008080FF

"aqua"("cyan")=#00FFFFFF

tts:fontFamily

指定用于定义字体系列的样式属性。

"default" = _serif

"monospace" = _typewriter

"sansSerif" = _sans

"serif" = _serif

"monospaceSansSerif" = _typewriter

"monospaceSerif" = _typewriter

"proportionalSansSerif" = _sans

tts:fontSize

指定用于定义字体大小的样式属性。如果提供两个值,则仅使用第一个(垂直)值。忽略百分比值和单位。支持绝对像素大小(例如 12)和相对样式大小(例如 +2)。

tts:fontStyle

指定用于定义字体样式的样式属性。

"normal"

"italic"

"inherit"*

* 默认行为;从封套标签继承此样式。

tts:fontWeight

指定用于定义字体粗细的样式属性。

"normal"

"bold"

"inherit"*

* 默认行为;从封套标签继承此样式。

tts:textAlign

指定样式属性,该属性用于定义在包含区块区域内如何对齐内嵌区域。

"left"

"右对齐"

"居中"

"start" (="left")

"end" (="right")

"inherit"*

*从封套标签继承此样式。如果未设置 textAlign 标签,则默认值为 "left"。

tts:wrapOption

指定样式属性,该属性用于定义在受影响元素的上下文中是否应用自动换行。此设置对字幕元素中的所有段落都起作用。

"wrap"

"noWrap"

"inherit"*

*从封套标签继承此样式。如果未设置 wrapOption 标签,则默认值为 "wrap"。

不支持的属性

tts:direction

tts:display

tts:displayAlign

tts:dynamicFlow

tts:extent

tts:lineHeight

tts:opacity

tts:origin

tts:overflow

tts:padding

tts:showBackground

tts:textOutline

tts:unicodeBidi

tts:visibility

tts:writingMode

tts:zIndex