【发布时间】:2011-09-01 13:20:34
【问题描述】:
我有 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 默认页面中插入这个特定的 rtmp 链接和 NewStream1 (来自 ns.publish("NewStream1", "live"); )时,它不起作用......它连接了,但它只显示空白黑色盒子。
当我使用该默认页面进行流式传输时,离开广播公司,效果很好。
有人可以帮我解决这个问题,告诉我我做错了什么吗?
谢谢。
编辑:
另外,当我删除时会发生奇怪的事情
video.attachCamera(camera);
摄像头接流光时还有线条
ns.attachCamera(camera);
但是相机上的灯,表示相机处于活动状态,它会打开1-2秒然后关闭......所以相机在......之后没有使用 所以这可能是 NetStreaming 对象的问题,因为它拒绝摄像头......
【问题讨论】:
-
问题是 var ns:NetStream = new NetStream(nc);需要在函数之外定义......因为这样它是函数变量并且在函数结束后它被“杀死”......
标签: flash actionscript-3 stream flash-cs5 flash-media-server