are you running red5 by command line, windows service or what ? It must
be logging to a file somewhere i think the server output is prob more
important regarding to disconnections because more than one person is
experiencing it ?
Saifur Rahman wrote:
> Actually I don't understand what u said. I m new in Red5 and flash action
> scripting. As I have given my code below again would anybody tell me
> where
> might be the prob in my code?
>
> import mx.utils.Delegate;
>
> // hook up adhock listener for Xray events if the user doesn't have
> the xray
> interface
> //import com.blitzagency.xray.Xray;
>
> var pauseStatus:Number;
> pauseStatus = 0;
> var videoStatus:Number;
> videoStatus = 0;
> //var total = 0;
> //var loadedTime = 0;
> var seekTo = 0;
>
> //var startPosition = this.seekButton._x;
> var fileName= "";
>
> if(this.timePassed.text=="")
> this.timePassed.text = "0";
>
> init();
>
> function init()
> {
> Xray.xrayTrace.addEventListener("onTrace", this);
> //mydgrid.setStyle("borderStyle", "none");
> mydgrid.setStyle("backgroundColor", 0xF3F0FB);
> mydgrid.setStyle("fontfamily", "Arial Rounded MT Bold");
> mydgrid.setStyle("fontSize", 12);
> mydgrid.setStyle("color", 0x333333);
> mydgrid.setStyle("embedfonts", true);
> mydgrid.setStyle("shadowColor", 0xBE9EDE);
> mydgrid.setStyle("borderCapColor", 0xBE9EDE);
> mydgrid.setStyle("shadowCapColor", 0xBE9EDE);
>
>
> }
>
> function onTrace(traceInfo):Void
> {
>
> info.maxScroll;
> }
>
> // FCS connectio and shared Object
> var nc:NetConnection;
> var ns:NetStream = null;
>
> // initial width and height
> var vidWidth = this.videoContainer._width;
> var vidHeight = this.videoContainer._height;
>
> var lowBufferTime = "2";
> var highBufferTime = "15";
>
> function connect():Boolean
> {
> this.nc = new NetConnection();
> this.nc.onStatus = Delegate.create(this, this.ncOnStatus);
>
> var connected:Boolean = this.nc.connect(this.rtmpURI.text);
> tt("connected?", connected);
>
> //light.gotoAndStop(2);
> return connected;
> }
>
> // disconnect from the fcs server
> function disconnect()
> {
> this.nc.close();
> stopWatchStream();
> //this.txtName.text = "Disconnected ";
> tt("disconnected");
> }
>
> // status for the netconnection
> function ncOnStatus(obj:Object):Void
> {
> //tt("NetConnection.onStatus", obj);
>
> if(obj.code == "NetConnection.Connect.Success")
> {
> this.txtName.text = "Connected";
> tt("catchVideos", catchVideos);
> catchVideos();
> //if(this.txtVideoName.text!=""){
> fileName = "Spiderman3_trailer_300_1";
> playMovie(fileName);
> //}
> }else if(obj.code == "NetConnection.Connect.Closed"){
> tt("Now Disconnected");
> this.txtName.text = "Disconnected ";
> //this.totalDuration.text =
> connect();
> catchVideos();
> //if(this.txtVideoName.text!=""){
> fileName = "Spiderman3_trailer_300_1";
> reloadMovie(fileName);
> //}
> }
> }
>
> // setup the netstream object
> function initNetStream()
> {
>
> this.ns = new NetStream(this.nc);
> this.ns.onStatus = Delegate.create(this, this.nsOnStatus);
> ns.setBufferTime(lowBufferTime);
> this.ns.onMetaData = Delegate.create(this, this.onMetaData);
> //pauseStatus = 0;
> //this.txtName.text = "";
>
>
> }
>
> function onMetaData(obj:Object):Void
> {
> tt("metaData", obj);
> this.totalDuration.text = Math.round(obj.duration);
> tt(this.totalDuration.text);
> //frameRate.text = obj.framerate;
> //widthHeight.text = obj.width + "x" + obj.height;
> }
>
> // status for the netstream object
> function nsOnStatus(obj:Object):Void
> {
> tt("NetStream.onStatus", obj);
>
> if(this.totalDuration.text!=""){
> this.totalVal.text = this.totalDuration.text;
>
> }
> //tt("Total Rec: "+this.totalVal.text);
>
>
> if(obj.code == "NetStream.Buffer.Full")
> {
> snow._visible = false;
> startWatchStream();
> //if(this.totalDuration.text!="")
>
>
> }else if(obj.code == "NetStream.Buffer.Empty")
> {
> stopWatchStream();
>
>
> }else if (obj.code == "NetStream.Unpause.Notify"){
> this.txtName.text = "Buffering...";
> }
> }
> //Code Added Bu Mishu on test
> function statusBar(){
> this.mcPosition._width = (Math.round(this.ns.time)*
> this.mcProgressBar._width )/ this.totalDuration.text;
> //tt((Math.round(this.ns.time)* mcProgressBar._width )/
> this.totalDuration.text);
> if(this.txtName.text == "Finished"){
> this.mcPosition._width = this.mcProgressBar._width;
> }
>
> //tt(this.seekButton._x);
> //tt(startPosition);
> //tt(this.mcProgressBar._width)
> /*
> if(this.seekButton._x >=
> (startPosition+this.mcProgressBar._width)){
> this.seekButton._x = this.seekButton._x -
> this.seekButton._width
> ;
> }
> else{
> this.seekButton._x = startPosition + this.mcPosition._width;
> }
> */
> }
>
>
>
> function startWatchStream()
> {
> ns.setBufferTime(highBufferTime);
> //var fName = mydgrid.selectedItem.name
> var fName = fileName;
> this.txtName.text = "Playing: " + fName;
>
> this.onEnterFrame = function()
> {
> //tt(this.totalDuration.text);
> //tt(this.ns.time);
>
> if(this.timePassed.text < Math.floor(this.ns.time)){
> this.timePassed.text = Math.floor(this.ns.time);
> }
> if(this.txtName.text == "Finished"){
> this.txtTime.text = Math.round(this.totalDuration.text/60) +
> ":" + Math.round(this.totalDuration.text%60) + " / " + Math.round(
> this.totalDuration.text/60) + ":" +
> Math.round(this.totalDuration.text%60);
> }
> else{
> this.txtTime.text = Math.round(this.ns.time/60)+ ":"
> +Math.round(this.ns.time%60) + " / " +
> Math.round(this.totalDuration.text/60)
> + ":" + Math.round(this.totalDuration.text%60);
> statusBar();
> }
>
>
> //bufferLength.text = this.ns.bufferLength;
> if(this.ns.time>= this.totalDuration.text){
> this.txtName.text = "Finished";
> //ns.seek(0);
> }
>
>
> }
> }
>
> function stopWatchStream()
> {
>
> ns.setBufferTime(lowBufferTime);
> this.txtName.text = "Buffering...";
>
> }
>
> // call back from the server
> function returnObjectStatus(obj):Void
> {
> tt("returnObjectStatus", obj);
>
> }
>
> // pauses/toggles pausing
> function pauseVideo():Void
> {
> //ns.pause();
> //this.txtName.text = "Paused";
>
> if(fileName==""){
> this.txtName.text = "No Video Selected";
> }else{
> //this.videoContainer.clear();
> ns.pause();
> if(pauseStatus==0){
> pauseStatus = 1;
> this.txtName.text = "Paused";
> }else if(videoStatus == 1){
> pauseStatus = 0;
> this.txtName.text = "Buffering...";
> }
> }
>
> disconnect();
> }
>
> function playVideo():Void
> {
> var fName = fileName;
> if(fileName==""){
> this.txtName.text = "No Video Selected";
> }else{
> playMovie(fName);
> pauseStatus = 0;
> }
> videoStatus = 1;
> }
>
> function muteVideo():Void
> {
>
> }
> // stops video, clears video object
> function stopVideo():Void
> {
>
> if(fileName==""){
> this.txtName.text = "No Video Selected";
> }else{
> this.videoContainer.clear();
> ns.close();
> videoStatus = 0;
> pauseStatus = 0;
> this.txtName.text = "Stopped";
> }
> this.txtTime.text = "";
> }
>
> var res = new Object();
> res.onResult = function(obj:Object)
> {
> tt(obj);
> mydgrid.removeAll();
> var k:Number;
> k=0;
> for(var items:String in obj)
> {
> if(typeof(obj[items]) == "object")
> {
> mydgrid.addItem(obj[items]);
> mydgrid.removeColumnAt(2);
> mydgrid.removeColumnAt(mydgrid.getColumnIndex("size"));
> mydgrid.editField(k, "name",
> mydgrid.getItemAt(k).name.substr(0,
> mydgrid.getItemAt(k).name.length-4));
> }
> k++;
> }
> }
>
> function catchVideos()
> {
> this.nc.call("demoService.getListOfAvailableFLVs", res);
> }
>
>
> // Create listener object.
> function cellPress(evt_obj:Object)
> {
> var item = mydgrid.selectedItem;
> tt(mydgrid.selectedItem.name);
> var fName = mydgrid.selectedItem.name;
> playMovie(fName);
> };
>
> // Add listener
> mydgrid.addEventListener("cellPress", this);
> //mydgrid.showHeaders = true;
> mydgrid.rollOverColor = "0xAFAEE3";
> mydgrid.selectionColor= "0x6869CA";// textRollOverColor
> mydgrid.textSelectedColor = "0xFFFFFF";
> mydgrid.vScrollPolicy = "auto";
> mydgrid.spaceColumnsEqually();
> mydgrid.showHeaders = false;
>
>
> function playMovie(what) {
>
> this.videoContainer._width = vidWidth;
> this.videoContainer._height = vidHeight;
> stopVideo();
> initNetStream();
> this.txtName.text = "Buffering...";
> this.videoContainer.attachVideo(this.ns);
> //this.videoContainer.seekBar = this.mySeekBar;
> //ns.play("ad/ad.flv", 0, -1, false);
> var actualName = what + ".flv";
> tt(actualName);
>
> this.ns.play(actualName, 0, -1, false);
> //this.ns.seek(50);
> //tt(this.totalDuration.text);
> //this.ns.time = 50*60;
> //this.ns.seek(1);
> }
>
> function reloadMovie(what) {
>
> this.videoContainer._width = vidWidth;
> this.videoContainer._height = vidHeight;
> //stopVideo();
> initNetStream();
> this.txtName.text = "Buffering...";
> this.videoContainer.attachVideo(this.ns);
> //this.videoContainer.seekBar = this.mySeekBar;
> //ns.play("ad/ad.flv", 0, -1, false);
> var actualName = what + ".flv";
>
> if(this.timePasses.text!="")
> var timeToSeek = this.timePassed.text;
> //timeToSeek = timeToSeek.substr(0, timeToSeek.indexOf(":")+1)*60 +
> timeToSeek.substr(timeToSeek.indexOf(":")+1);
>
> if(this.totalVal.text!="")
> this.totalDuration.text = Math.round(this.totalVal.text);
>
> this.ns.play(actualName, 0, -1, false);
>
> this.ns.seek(timeToSeek);
> tt("seek called ",timeToSeek);
> tt(timeToSeek);
> //this.totalDuration.text = this.ns.
> //this.ns.time = this.txtTime.text.substr(0, this.txtTime.text.indexOf
> ("/")+1);
> //tt(this.totalDuration.text);
> }
>
>
> this.onLoad = function() {
> connect();
> }
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Red5 mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org