使用 SMIL 文件

为了为多个带宽处理多个流,VideoPlayer 类可以使用支持 SMIL 的一个子集的辅助类 (NCManager)。SMIL 用于标识视频流的位置、FLV 文件的布局(宽和高)以及对应于不同带宽的源 FLV 文件。它还可以用于指定 FLV 文件的比特率和持续时间。

使用 source 参数或 FLVPlayback.source 属性 (ActionScript) 指定 SMIL 文件的位置。有关详细信息,请参阅 用于 Adobe Flash Platform 的 ActionScript 3.0 参考 中的 FLVPlayback.source 属性。

以下示例显示一个 SMIL 文件,该文件使用 RTMP 从 FMS 流式加载多个带宽 FLV 文件:

<smil> 
<head> 
<meta base="rtmp://myserver/myapp/" /> 
<layout> 
<root-layout width="240" height="180" /> 
</layout> 
</head> 
<body> 
            <switch> 
                    <ref src="myvideo_cable.flv" dur="3:00.1"/> 
                    <video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"/> 
                    <video src="myvideo_mdm.flv" system-bitrate="56000"dur="3:00.1"/> 
            </switch> 
</body> 
</smil>

<head> 标签可以包含 <meta> <layout> 标签。 <meta> 标签仅支持 base 属性,该属性用于指定视频流(来自 FMS 的 RTMP)的 URL。

<layout> 标签仅支持 root-layout 元素,该元素用于设置 height width 属性,因此可确定用来呈现 FLV 文件的窗口的大小。这两个属性仅接受像素值,而不接受百分比。

在 SMIL 文件的正文内,您可以包括指向 FLV 源文件的单个链接;或者,如果您要从 FMS 流式加载多个带宽的多个文件(如前面的示例中所示),则可以使用 <switch> 标签列出这些源文件。

<switch> 标签内的 video ref 标签意义相同;也就是说,它们都可以使用 src 属性指定 FLV 文件。进一步讲,每种标签都可以使用 region system-bitrate dur 属性指定 FLV 文件的区域、所需的最小带宽和持续时间。

<body> 标签内,只允许出现 <video> <src> <switch> 标签中的一个。

以下示例为不使用带宽检测的单个 FLV 文件显示渐进式下载:

<smil> 
        <head> 
            <layout> 
                <root-layout width="240" height="180" /> 
            </layout> 
        </head> 
        <body> 
            <video src=""myvideo.flv" /> 
        </body> 
</smil>

<smil>

可用性

Flash Professional 8。

用法

<smil> 
... 
child tags 
... 
</smil>

属性

无。

子标记

<head>, <body>

父标签

无。

说明

顶级标签,用于标识 SMIL 文件。

示例

以下示例显示指定了 3 个 FLV 文件的一个 SMIL 文件:

<smil> 
<head> 
<meta base="rtmp://myserver/myapp/" /> 
<layout> 
<root-layout width="240" height="180" /> 
</layout> 
</head> 
<body> 
<switch> 
                <ref src="myvideo_cable.flv" dur="3:00.1"/> 
                <video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"/> 
                <video src="myvideo_mdm.flv" system-bitrate="56000"dur="3:00.1"/> 
            </switch> 
</body> 
</smil>

<head>

可用性

Flash Professional 8。

用法

<head> 
... 
child tags 
... 
</head>

属性

无。

子标记

<meta>, <layout>

父标签

<smil>

说明

支持 <meta> <layout> 标签,并指定源 FLV 文件的位置和默认布局(高度和宽度)。

示例

以下示例将根布局设置为 240 x 180 像素:

<head> 
    <meta base="rtmp://myserver/myapp/" /> 
    <layout> 
        <root-layout width="240" height="180" /> 
    </layout> 
</head>

<meta>

可用性

Flash Professional 8。

用法

<meta/>

属性

base

子标记

<layout>

父标签

无。

说明

包含 base 属性,该属性指定源 FLV 文件的位置 (RTMP URL)。

示例

以下示例为 myserver 上的基础位置显示 meta 标签:

<meta base="rtmp://myserver/myapp/" />

<layout>

可用性

Flash Professional 8。

用法

<layout> 
... 
child tags 
... 
</layout>

属性

无。

子标记

<root-layout>

父标签

<meta>

说明

指定 FLV 文件的宽度和高度。

示例

下面的示例指定一个 240 x 180 像素的布局:

<layout> 
    <root-layout width="240" height="180" /> 
</layout>

<root-layout>

可用性

Flash Professional 8。

用法

<root-layout...attributes.../>

属性

Width、height

子标记

无。

父标签

<layout>

说明

指定 FLV 文件的宽度和高度。

示例

下面的示例指定一个 240 x 180 像素的布局:

<root-layout width="240" height="180" />

<body>

可用性

Flash Professional 8。

用法

<body> 
... 
child tags 
... 
</body>

属性

无。

子标记

<video>, <ref>, <switch>

父标签

<smil>

说明

包含 <video> <ref> <switch> 标签,用于分别指定源 FLV 文件的名称、最小带宽以及 FLV 文件的持续时间。在使用 <switch> 标签时只支持 system-bitrate 属性。在 <body> 标签内,只允许有一个 <switch> <video> <ref> 标签的实例。

示例

下面的示例指定三个 FLV 文件,其中两个是使用 video 标签指定的,另一个则是使用 ref 标签指定的:

<body> 
    <switch> 
        <ref src="myvideo_cable.flv" dur="3:00.1"/> 
        <video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"/> 
        <video src="myvideo_mdm.flv" system-bitrate="56000"dur="3:00.1"/> 
    </switch> 
</body>

<video>

可用性

Flash Professional 8。

用法

<video...attributes.../>

属性

src, system-bitrate, dur

子标记

无。

父标签

<body>

说明

<ref> 标签的用途相当。支持 src dur 属性,这两个属性指定源 FLV 文件的名称及其持续时间。 dur 属性支持完整时间格式 (00:03:00:01) 和不完整时间格式 (03:00:01)。

示例

以下示例将设置视频的来源和持续时间:

<video src="myvideo_mdm.flv" dur="3:00.1"/>

<ref>

可用性

Flash Professional 8。

用法

<ref...attributes.../>

属性

src, system-bitrate, dur

子标记

无。

父标签

<body>

说明

<video> 标签的用途相当。支持 src dur 属性,这两个属性指定源 FLV 文件的名称及其持续时间。 dur 属性支持完整时间格式 (00:03:00:01) 和不完整时间格式 (03:00:01)。

示例

以下示例将设置视频的来源和持续时间:

<ref src="myvideo_cable.flv" dur="3:00.1"/>

<switch>

可用性

Flash Professional 8。

用法

<switch> 
... 
child tags 
... 
<switch/>

属性

无。

子标记

<video>, <ref>

父标签

<body>

说明

<video> <ref> 子标签一起使用,用于为多个带宽视频流列出 FLV 文件。 <switch> 标签支持 system-bitrate 属性,该属性指定最小带宽以及 src dur 属性。

示例

下面的示例指定三个 FLV 文件,其中两个是使用 video 标签指定的,另一个则是使用 ref 标签指定的:

<switch> 
    <ref src="myvideo_cable.flv" dur="3:00.1"/> 
    <video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"/> 
    <video src="myvideo_mdm.flv" system-bitrate="56000"dur="3:00.1" /> 
</switch>