Note that there are some explanatory texts on larger screens.

plurals
  1. POUse flash media plyer like youtube to play back netsteam from fms
    text
    copied!<p>I am using adobe FMS 4.5 to record video from webcam and playback netsream from fms in same application.</p> <p>my client side Action Script is like</p> <pre><code>package { import fl.controls.Button; import flash.display.Sprite; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.NetStatusEvent; import flash.events.MouseEvent; import flash.events.Event; //import flash.net.ObjectEncoding; import flash.media.Camera; import flash.media.Microphone; import flash.media.Video; public class mytest3 extends Sprite { private var nc:NetConnection; private var ns:NetStream; private var rtmpNow:String; private var msg:Boolean; private var cam:Camera; private var mic:Microphone; private var vid1:Video; private var recordBtn:Button; private var stopBtn:Button; private var playBackBtn:Button; private var textInput:TextInput; private var timestamp:Date = new Date(); private var fileName:String; //Constructor function mytest3 () { //NetConnection.defaultObjectEncoding = flas h.net.ObjectEncoding.AMF0; nc=new NetConnection(); nc.addEventListener (NetStatusEvent.NET_STATUS,checkConnect); rtmpNow="rtmp://localhost/test1"; //rtmpNow="rtmp://192.169.1.25/test1"; nc.connect (rtmpNow); addMedia (); addUI (); recordBtn.addEventListener (MouseEvent.CLICK,startRecord); stopBtn.addEventListener (MouseEvent.CLICK,stopRecord); playBackBtn.addEventListener(MouseEvent.CLICK,playBack); } private function addMedia ():void { cam=Camera.getCamera(); cam.setMode (240,180,24); cam.setQuality (0,100); mic=Microphone.getMicrophone(); vid1=new Video(cam.width,cam.height); vid1.attachCamera (cam); addChild (vid1); vid1.x=100; vid1.y=50; } private function addUI ():void { recordBtn=new Button(); recordBtn.label="Start Recording"; recordBtn.x=100; recordBtn.y=50+(cam.height) +5; recordBtn.width=70; addChild (recordBtn); stopBtn=new Button(); stopBtn.label="Stop Recording"; stopBtn.x=recordBtn.x+85; stopBtn.y=recordBtn.y; stopBtn.width=75; addChild (stopBtn); playBackBtn=new Button(); playBackBtn.label="PlayBack"; playBackBtn.x=stopBtn.x+85; playBackBtn.y=recordBtn.y; playBackBtn.width=75; addChild(playBackBtn); } private function checkConnect (e:NetStatusEvent):void { msg=(e.info.code=="NetConnection.Connect.Success"); if (msg) { ns = new NetStream(nc); } } private function startRecord (e:Event):void { if (ns) { //recordBtn.label="Recording"; recordBtn.visible=false; ns.attachAudio (mic); ns.attachCamera (cam); fileName = String("videos"+timestamp.getTime()); ns.publish(fileName,"record") } } private function stopRecord (e:Event):void { //recordBtn.label="Recorded" recordBtn.visible=false;; stopBtn.label="Stoped"; ns.close (); } private function playBack(e:Event):void { playBackBtn.label="Playing Back"; stopBtn.visible=false; var nsPlayer:NetStream = new NetStream(nc); //nsPlayer.play("my.flv"); var vid:Video = new Video(cam.width,cam.height); vid.x = playBackBtn.x+30; vid.y = vid1.y; vid.attachNetStream(nsPlayer); nsPlayer.play(fileName); vid.smoothing=true; addChild(vid); } } } </code></pre> <p>Recording and as well as playing back is working fine. I want that when it play back it should look like youtube video with controls like play,pause,seekbar.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload