设置Flash Stream到媒体服务器

时间:2011-09-01 13:20:35

标签: flash actionscript-3 stream flash-cs5 flash-media-server

我有Adobe Media Server 4,我正在使用Flash Professional CS5.5来创建流媒体应用程序。 为了测试,我使用默认的Adobe页面,您可以在其中插入流媒体URL和流名称以连接到流媒体源,以获取概述。 这是启动时的那个页面,你有两个视频块,一个是广播,另一个是看流。

这是AS3代码:

var bandwidth:int = 0; 
var quality:int = 50;
var camera:Camera = Camera.getCamera();

camera.setQuality(bandwidth, quality);
camera.setMode(430,320,15, true);

var video:Video = new Video();
video.attachCamera(camera);
addChild(video);
video.width = 430;
video.height = 320;

var nc:NetConnection = new NetConnection();
nc.connect("rtmp://***");
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

function netStatusHandler(event:NetStatusEvent):void{
    if (event.info.code == "NetConnection.Connect.Success")
    {
    label10.text = 'Connected';
    var ns:NetStream = new NetStream(nc);
    ns.attachCamera(camera);
    ns.publish("NewStream1", "live");
    }

}

当我运行此文件时,我在label10中获得“已连接”,这意味着它已连接到rtmp服务器链接。

当我在Adobe Default页面中插入这个特定的rtmp链接和NewStream1(来自ns.publish(“NewStream1”,“live”);)时,它不起作用......它连接,但它只显示空白的黑色框。

当我使用该默认页面进行流媒体播放时,左侧广播,它的效果很好。

有人可以帮助我吗,告诉我我做错了什么?

谢谢。

编辑:

另外,当我删除

时会发生奇怪的事情
video.attachCamera(camera);

当相机连接到流光时仍有线

ns.attachCamera(camera);

但在相机上点亮,即签署该相机处于活动状态,它会打开1-2秒然后关闭......所以相机在以后没有使用...... 所以它可能是NetStreaming对象的一个​​问题,因为它拒绝了相机......

1 个答案:

答案 0 :(得分:3)

问题是那个

var ns:NetStream = new NetStream(nc);

需要在函数定义之外...因为这样它是函数变量,它在函数结束后被“杀死”......