加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Flex 和 Red5开发简易视频直播功能

发布时间:2020-12-15 03:35:23 所属栏目:百科 来源:网络整理
导读:1,服务器端可以空实现ApplicationAdapter:示例如下: ? [java] ? view plain copy package ?org.chy.flex01;?? ?? import ?org.red5.server.adapter.ApplicationAdapter;?? public ? class ?Application? extends ?ApplicationAdapter{?? ?????? ?? }?? 客

1,服务器端可以空实现ApplicationAdapter:示例如下:

?

[java]? view plain copy
  1. package?org.chy.flex01;??
  2. ??
  3. import?org.red5.server.adapter.ApplicationAdapter;??
  4. public?class?Application?extends?ApplicationAdapter{??
  5. ??????
  6. ??
  7. }??

客户端使用Flex实现摄像头获取视频并发布代码如下:

?

[javascript]? copy
    <?xml?version="1.0"?encoding="utf-8"?>??
  1. <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?applicationComplete="init()">??
  2. ????<mx:Script>??
  3. ????????<!--[CDATA[??
  4. ????????????import?flash.net.NetConnection;??
  5. ????????????import?flash.net.NetStream;??
  6. import?flash.events.NetStatusEvent;??
  7. import?mx.controls.Alert;??
  8. ??????????????
  9. private?var?nc:NetConnection;??
  10. var?ns:NetStream;??
  11. var?cam:Camera;??
  12. function?init():void{??
  13. ????????????????nc?=?new?NetConnection();??
  14. ????????????????nc.addEventListener(NetStatusEvent.NET_STATUS,connectServerHander);??
  15. ????????????????nc.client??=?this;??
  16. ????????????????nc.connect("rtmp://58.116.56.68:1935/Flex01");??
  17. ????????????}??
  18. ??????????????
  19. function?connectServerHander(evt:NetStatusEvent):void{??
  20. ????????????????trace(evt.info.code);???
  21. ????????????????cam?=?Camera.getCamera();??
  22. ??????????????????
  23. ????????????????if(cam?!=?null){??
  24. ????????????????????cam.setMode(313,194,30);??
  25. ????????????????????cam.setQuality(0,70);??
  26. ????????????????????ns?=?new?NetStream(nc);???
  27. ????????????????????ns.attachCamera(cam);??
  28. ????????????????????ns.publish("red5");??
  29. ??????????????????????
  30. ????????????????????var?vi:Video?=?new?Video();??
  31. ????????????????????vi.width?=?313;??
  32. ????????????????????vi.height?=?194;??
  33. ????????????????????vi.attachCamera(cam);??
  34. ????????????????????videoDisplay.addChild(vi);??
  35. ????????????????}else{??
  36. ????????????????????Alert.show("no?Camera");??
  37. ????????????????}??
  38. ??????????????????????????
  39. function?onBWDone(): ????????]]-->??
  40. ????</mx:Script>??
  41. ??????
  42. ????<mx:VideoDisplay?x="162"?y="77"?width="313"?height="194"?id="videoDisplay"/>??
  43. </mx:Application>??

客户端使用Flex play视频代码如下:

copy
    ????<mx:Script>??
  1. ????????<!--[CDATA[??
  2. import?flash.display.*;??
  3. import?flash.utils.*;??
  4. import?flash.events.*;??
  5. import?flash.net.*;??
  6. import?flash.media.Video;??
  7. import?flash.media.Camera;??
  8. ????????????????nc.addEventListener(NetStatusEvent.NET_STATUS,connectHandler);??
  9. ????????????}??
  10. function?connectHandler(evt:NetStatusEvent): ??????????????????
  11. ????????????????var?ns:NetStream?=?new?NetStream(nc);??
  12. var?video:Video=new?Video()?;??
  13. ????????????????video.width?=?313;??
  14. ????????????????video.height?=?194;??
  15. ????????????????video.attachNetStream(ns);??
  16. ????????????????ns.play("red5");??
  17. ????????????????videoDisplay.addChild(video);??
  18. ????????]]-->??
  19. ????</mx:Script>??
  20. ????<mx:Panel?x="132"?y="78"?width="356"?height="266"?layout="absolute"?title="现场直播"?fontSize="14">??
  21. ????????<mx:VideoDisplay?x="10"?y="10"?width="320"?height="193"?id="videoDisplay"/>??
  22. ????</mx:Panel>??
  23. </mx:Application>??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读