惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
aimingoo的专栏
aimingoo的专栏
腾讯CDC
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
F
Fortinet All Blogs
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
Engineering at Meta
Engineering at Meta
博客园_首页
B
Blog RSS Feed
D
Docker
M
MIT News - Artificial intelligence
爱范儿
爱范儿
I
InfoQ

博客园 - 狂野都城

一次分布式事务管理器(MSDTC)的事务处理异常的排错 后台线程处理 FMS3.5 的logs 日志目录配置 C#磁盘大小管理操作类 C#建立IIS虚拟目录站点 IO操作类 同步和异步方式获取网页源代码! 判断一幅图片是否是黑色,灰度直方图 winform窗体置前 如何配置FMS边缘服务器 Windows服务“允许服务与桌面交互”的使用和修改方法 招聘:Flash视频开发程序员(网络多媒体应用) 招聘:windows mobile 手机应用软件的开发 Word 2007 里头鼠标失效(滚轮除外) ,困扰多天! 终止线程 Response.End 在Asp.net 里面的正确使用 Access 中查询TOP语句的奇怪问题??? 一道小学数学题... net常用代码 (收藏) 在VS2005 开发中使用Codesmith 和NetTiers 模版开发相关
关于FMS服务端数据流发布
狂野都城 · 2009-05-23 · via 博客园 - 狂野都城

看过网上很多帖子都在问如何在FMS服务器端进行stream广播,在客户端进行侦听,发现可以这样实现。

main.asc:

AS代码

  1. var isPlay=false;  
  2. application.onConnect=function(client){  
  3.     application.acceptConnection(client);  
  4.     trace(“it was connected!!”);  
  5.     client.playStream=function (){  
  6.         var ns=Stream.get(“37studio”);  
  7.         if(ns){  
  8.            if(!isPlay){  
  9.               ns.play(“stream/test”);  
  10.               ns.record();  
  11.               isPlay=true;  
  12.               return 0;  
  13.            }else{  
  14.               return Stream.length(“37studio”);  
  15.            }  
  16.         }  
  17.     }     
  18. }  
  19.       

client.fla:

AS代码

  1. import flash.display.Sprite;  
  2. import flash.events.NetStatusEvent;  
  3. import flash.events.SecurityErrorEvent;  
  4. import flash.media.Video;  
  5. import flash.net.NetConnection;  
  6. import flash.net.NetStream;  
  7. import flash.events.Event;  
  8. import flash.net.Responder;  
  9. import flash.net.ObjectEncoding;  
  10.   
  11. var videoURL:String = “stream/test”;  
  12. var connection:NetConnection;  
  13. var stream:NetStream;  
  14.   
  15. connection = new NetConnection();  
  16. connection.objectEncoding=ObjectEncoding.AMF0;  
  17. connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);  
  18. connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);  
  19. connection.connect(“rtmp://localhost/serverPublih”);  
  20.   
  21.   
  22. function netStatusHandler(event:NetStatusEvent):void {  
  23.     switch (event.info.code) {  
  24.         case “NetConnection.Connect.Success” :  
  25.             trace(“connect success!!!”);  
  26.             connectStream();  
  27.             break;  
  28.         case “NetStream.Play.StreamNotFound” :  
  29.             trace(“Stream not found: ” + videoURL);  
  30.             break;  
  31.     }  
  32. }  
  33.   
  34. function securityErrorHandler(event:SecurityErrorEvent):void {  
  35.     trace(“securityErrorHandler: ” + event);  
  36. }  
  37.   
  38. function connectStream():void {  
  39.     stream= new NetStream(connection);  
  40.     stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);  
  41.     var video:Video = new Video();  
  42.     video.attachNetStream(stream);
  43.     addChild(video);  
  44.     connection.call(“playStream”,new Responder(onResult));  
  45. }  
  46.   
  47. function onResult(para:*):void {  
  48.     trace(“para:”+para);
  49.     stream.play(“37studio”);  
  50.     stream.seek(para);  
  51.     return;