首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时流媒体Flex

实时流媒体Flex
EN

Stack Overflow用户
提问于 2011-01-30 10:29:06
回答 1查看 4K关注 0票数 2

我一直在开发一个Flex应用程序,它从我的摄像头向Flash服务器发送一个提要。应用程序可以很好地连接到服务器,但由于某种原因,相机没有向媒体服务器发送任何内容。我非常肯定,我的问题的答案真的很简单,但我需要另一套眼睛,我的代码,并告诉我做错了什么。任何帮助都是很大的!!很大..。非常感谢。我要把我剩下的头发留着!这是函数..。再次感谢。

代码语言:javascript
复制
private function Publisher():void{

            var camera1:Camera = Camera.getCamera();
            var video:Video = new Video(285, 254);
            if (camera1)
            {
                video.attachCamera(camera1);
                VideoDisplay1.addChild(video);
                camera1.addEventListener(ActivityEvent.ACTIVITY, camera_activity);
                camera1.addEventListener(StatusEvent.STATUS, camera_status);
            }

            var nc:NetConnection = new NetConnection();
            nc.connect("rtmp://po9nawn4.rtmphost.com/Application");
            nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

            function netStatusHandler(event:NetStatusEvent):void {
                switch (event.info.code) {
                    case "NetConnection.Connect.Success":
                        var ns:NetStream = new NetStream(nc);
                        ns.attachCamera(camera1);
                        ns.publish("test", "live");
                        break;
                    case "NetStream.Play.StreamNotFound":
                        trace("Unable to locate video: ");
                        break;
                }
            }

        }
EN

回答 1

Stack Overflow用户

发布于 2011-01-30 13:09:11

尝试将netStatusHandler移出Publisher

顺便说一句,你是连接到默认的FMS应用程序吗?fms_adminConsole.swf向你的客户展示了吗?

upd :

代码语言:javascript
复制
package  {
/**
 * ...
 * @author www0z0k
 */
    import flash.events.NetStatusEvent;
    import flash.media.Camera;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.display.Sprite;
    [SWF(width='400', height='300', frameRate='30')]
    public class NewClass extends Sprite {
    private var vid:Video;
    private var nc:NetConnection;
    private var ns:NetStream;
    private var baseUrl:String = 'rtmp://192.168.1.100/live';
    private var appUrl:String = 'stream1';
    private var cam:Camera;
    public function NewClass() {
        vid = new Video();
        addChild(vid);
        cam = Camera.getCamera();
        vid.attachCamera(cam);
        nc = new NetConnection();
        nc.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
        nc.connect(baseUrl);
    }

    private function onStatus(e:NetStatusEvent):void {
            switch (e.info.code) {
            case "NetConnection.Connect.Success":
                ns = new NetStream(nc, NetStream.CONNECT_TO_FMS);
                ns.attachCamera(cam);
                ns.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
                ns.publish(appUrl, 'live');
                break;
             }
      }
  }
}

在我的dev fms上工作得很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4842373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档