为了为多个带宽处理多个流,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>