·您当前的位置:首页 > 技术教程 > FMS教程 >

[FMS]FMS文字和视频方面的示例代码

时间:2013-06-24 16:02CuPlayer.com
FMS服务器的设置简单的仿照(一)就可以了,这段代码延续(一),加上了视频和语音发布,主要用到netstream.publish()方 法,该方法也可以用于视频在线录制,除了检测摄相头和MIC状态的代码外,就增加了十几行的视频发布代码

FMS服务器的设置简单的仿照(一)就可以了,这段代码延续(一),加上了视频和语音发布,主要用到netstream.publish()方 法,该方法也可以用于视频在线录制,除了检测摄相头和MIC状态的代码外,就增加了十几行的视频发布代码,有关摄相头和MIC的详细设置我并没有写,只是 让大家看清楚它的工作原理,没有摄相头的朋友(我就没有摄相头)可以这样测试:打开麦克风说话,如果能听到回音就说明发布成功了复制内容到剪贴板代码://建立与服务器的连接.

  1. var sv_uri:String = "rtmp:/recordstream"
  2. var my_nc:NetConnection = new NetConnection (); 
  3. my_nc.connect (sv_uri); 
  4. //新建共享对象; 
  5. my_nc.onStatus = function (thisObj:Object){ 
  6.        if (thisObj.code == "NetConnection.Connect.Success"){ 
  7.             info_txt.text = "连接服务器成功!!"
  8.             info_txt.textColor = 0x66CC00
  9.        } 
  10.        else{ 
  11.             info_txt.text = "连接服务器失败!!" 
  12.             info_txt.textColor = 0xFF0000
  13.        } 
  14. var user_rso:SharedObject = SharedObject.getRemote ("chat_rso", my_nc.uri, true); 
  15. user_rso.connect (my_nc); 
  16. //建立摄相头和麦克风对象 
  17. this.cam = Camera.get(); 
  18. this.mic = Microphone.get(); 
  19. videobox.attachVideo(this.cam); 
  20. videobox.attachAudio(this.mic); 
  21. send_ns = new NetStream(my_nc); 
  22. send_ns.attachVideo(this.cam); 
  23. send_ns.attachAudio(this.mic); 
  24. send_ns.publish("humorguy"); 
  25. get_ns = new NetStream(my_nc); 
  26. get_ns.play("humorguy"); 
  27. videobox2.attachVideo(get_ns); 
  28. //更新聊天内容 
  29. user_rso.onSync = function (){ 
  30.             chatOutput_txt.text += newline+this.data.chatname +":" 
    + this.data.chatcontent; 
  31.             chatOutput_txtchatOutput_txt.scroll = chatOutput_txt.maxscroll+1;
    //确保最新消息能显示在输出框里 
  32. //回车键发送聊天内容 
  33. function myOnKeyDown() { 
  34. if (Key.getCode() == 13) { 
  35.             if(chatInput_txt.text != undefined && chatInput_txt.text !=
    user_rso.data.chatcontent){ 
  36.                    Selection.setFocus(chatInput_txt); 
  37.                      user_rso.data.chatcontent = chatInput_txt.text; 
  38.                      if(name_txt.text != "" && name_txt.text != user_rso.data.chatname){ 
  39.                                user_rso.data.chatname = name_txt.text; 
  40.                                } 
  41.             } 
  42. var myListener:Object = new Object(); 
  43. myListener.onKeyDown = myOnKeyDown
  44. Key.addListener(myListener); 
  45. //构造检测摄相头和麦克风状态的函数 
  46. function checkforCam_Mic() { 
  47.        camArray = Camera.names; 
  48.        micArray = Microphone.names; 
  49.        if (camArray.length>=1) { 
  50.             temp_cam = Camera.get(); 
  51.             if (temp_cam == -1) { 
  52.                      camInfo_txt.text = '视频设备正忙!'
  53.                      camInfo_txt.textColor = 0xFFCC00
  54.             } else { 
  55.                      camInfo_txt.text = '视频设备可用!'
  56.                      camInfo_txt.textColor = 0x66CC00
  57.             } 
  58.             delete temp_cam; 
  59.        } else if (camArray.length == 0) { 
  60.             camInfo_txt.text = '没有视频设备!'
  61.             camInfo_txt.textColor = 0xFF0000
  62.        } 
  63.        //检测麦克风状态 
  64.        if (micArray.length>=1) { 
  65.             temp_mic = Microphone.get(); 
  66.             if (temp_mic == -1) { 
  67.                      camInfo_txt2.text = '麦克风正忙!'
  68.                      camInfo_tx2t.textColor = 0xFFCC00
  69.             } else { 
  70.                      camInfo_txt2.text = '麦克风可用!'
  71.                      camInfo_txt2.textColor = 0x66CC00
  72.             } 
  73.             delete mic_cam; 
  74.        } else if (micArray.length == 0) { 
  75.             camInfo_txt2.text = '没有麦克风!'
  76.             camInfo_txt2.textColor = 0xFF0000
  77.        } 
  78. checkforCam_Mic(); 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器