flash中android发布过程视频,[AS3]as3发布视频流NetStream.publish()用法

可用性

Flash Player 6

Flash Communication Server MX

用法

public publish(name : String [, howToPublish : String] ) : Void

参数

name 一个字符串,用来识别这个流。如果你传递false,则发布操作会停止。这个流的订阅者在其调用

NetStream.play()时必

须传递同样的名字。你不需要为流名包含一个文件扩展名。

howToPublish 一个可选的字符串,用来指定如何发布流。有效值是"record"、"append",以及"live"。默

认值是"live"。

如果你为howToPublish传递"record",则Flash会发布和记录实况数据,把记录的数据保存到一个名

为whatToPublish.flv

的新文件中。这个文件被保存在服务器上包含这个服务器应用程序的目录的子目录中。如果这个

文件已经存在了,它

将被覆盖。

如果你为howToPublish传递"append",则Flash会发布和记录实况数据,把记录的数据追加到一个名

为name.flv的文件

中,这个文件被存储在服务器上包含这个服务器应用程序的目录中的子目录中。如果没有名为

name.flv的文件被发现,

则这个文件会被创建。

如果你省略了这个参数或是传递了"live",则Flash会发布实况数据但不记录它。如果name.flv存在

的话,它将被删除。

返回

描述

方法。把流音频、视频,以及来自客户机的文本消息发送到Flash Media Server,可选的在传输期间记

录这个流。这个方法

只对指定的流的发布者可用。

当你想要让一个订阅者播放一个已经被发布或记录的流时,不是使用这个方法。例如,假定你有一个

名为"allAboutMe"的

流,要使别人能够回放它,你只需为要使用的这个订阅者打开一个流:

var publish_ns:NetStream = new NetStream(my_nc);

var subscribe_ns:NetStream = new NetStream(my_nc);

当你记录一个流时,Flash创建一个FLV文件并把它存储在服务器上Flash Media Server applications目录

的一个子目录中。每

一个流都被存储在一个目录中,这个目录的名字与传递给当你记录一个流时,Flash创建一个FLV

NetConnection.connect()的instanceName值一样。

Flash会自动地创建这些目录,你不需要为每个实例名创建一个目录。例如:

//连接到一个应用程序的一个特定的实例,

//这个应用程序被存储在你的应用程序目录的一个名为"lectureSeries"的目录中。

//一个名为"lecture.flv"的文件被存储在一个名为

//"...\yourAppsFolder\lectureSeries\streams\Monday"的子目录中。

var my_nc:NetConnection = new NetConnection();

var my_nc:NetConnection = new NetConnection();

my_nc.connect("rtmp://server.domain.com/lectureSeries/Monday");

var my_ns:NetStream = new NetStream(my_nc);

my_ns.publish("lecture", "record");

//连接到同一应用程序的一个不同的实例

//但发出一个同样的命令

//一个名为"lecture.flv"的文件被存储在一个名为

//"...\yourAppsFolder\lectureSeries\streams\Tuesday"的子目录中。

var my_nc:NetConnection = new NetConnection();

my_nc.connect("rtmp://server.domain.com/lectureSeries/Tuesday");

var my_ns:NetStream = new NetStream(my_nc);

my_ns.publish("lecture", "record");

如果你没有为instanceName传递一个值的话,则name.flv会被存储在一个名为

"...\yourAppsFolder\appName\streams

\_definst_"的子目录中。

这个方法可以用许多不同的信息对象调用NetStream.onStatus。例如,如果有人已经在指定名的流上进

行了发布,则NetStream.onStatus会被用一个"NetStream.Publish.BadName"的code属性调用。

例子

下面的范例展示了如何发布和记录一个视频,然后再回放它。

var my_nc:NetConnection = new NetConnection();

my_nc.connect("rtmp://myServer.myDomain.com/appName/appInstance");

var src_ns:NetStream = new NetStream(my_nc);

src_ns.publish("stephen", "record");

src_ns.attachVideo(Camera.get());

//要停止发布和记录

src_ns.publish(false);

//要播放记录的流

src_ns.play("stephen");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值