publish () 方法
public function publish(name:String = null, type:String = null):void
语言版本: ActionScript 3.0 运行时版本: AIR 1.0 Flash Player 9
将音频流、视频流和文本消息流从客户端发送到 Flash Media Server,并可选择在传输期间录制该流。此方法仅供指定的流的发布者使用。
name:String
(default = null
) — 标识该流的字符串。订阅此流的客户端必须在调用 NetStream.play()
时仍然传递此名称。流名称后面不要跟“/”。例如,不要使用流名称“bolero/
”。 可以发布下表所述格式的文件。语法将随文件格式的不同而不同。
文件格式 语法 示例
FLV 以字符串形式指定流名称,不带文件扩展名。
ns.publish("myFLVStream");
MP3 或 ID3 以字符串形式指定流名称,使用相应的前缀 mp3:
或 id3:
,但不带文件扩展名。
ns.publish("mp3:myMP3Stream");
ns.publish("id3:myID3data");
基于 MPEG-4 的文件(如 F4V、MP4) 以字符串形式指定流名称,带有或不带有文件扩展名,并带有前缀 mp4:
。
此前缀将向 Flash Media Server 表明,该文件在 MPEG-4 Part 14 容器格式中包含 H.264 编码的视频和 AAC 编码的音频。
ns.publish("mp4:myVideo.f4v")
ns.publish("mp4:myVideo.mp4");
ns.publish("mp4:myVideo");
type:String
(default = null
) — 指定如何发布该流的字符串。有效值为“record
”、“append
”和“live
”。 默认值为“live
”。 - 如果传递“
record
”,则 Flash Media Server 将发布并录制实时数据,同时将录制的数据保存到名称与传递给name
参数的值相匹配的新文件中。如果该文件存在,则覆盖该文件。 - 如果传递“
append
”,则 Flash Media Server 将发布并录制实时数据,同时将录制的数据追加到名称与传递给name
参数的值相匹配的文件中。如果未找到与name
参数相匹配的文件,则创建一个文件。 - 如果省略此参数或传递“
live
”, 则 Flash Media Server 将发布实时数据,但不录制这些数据。如果存在名称与传递给name
参数的值相匹配的文件,则删除它。