FJ0
asked on
Flex 4.5 Video, NetStream, Start Buffering after calling ns.togglePause in NetStatus Handler to prevent autoplay
I'm working on a video player built on the Flex Framework. I'm using NetConnection, NetStream to stream from a wowza server.
I do not want the video to autoplay when loading. The only way I found to prevent this is by calling ns.togglePause() in the netStatusHandler. this works fine. However I would like to start the buffering right away. the only way I've found is to delay the initial pause in the netStatusHandler by 3 seconds, with a timer. This works but is a little dirty as the video sometimes plays a bit before the pause. But the video continues to buffer when paused, this is the behavior I'm looking for. I wish to accomplish this without using a delay to call ns.togglePause.
Is there a way to force buffering after calling ns.togglePause() in the netStatusHandler?
Thanks,
FJ0
I do not want the video to autoplay when loading. The only way I found to prevent this is by calling ns.togglePause() in the netStatusHandler. this works fine. However I would like to start the buffering right away. the only way I've found is to delay the initial pause in the netStatusHandler by 3 seconds, with a timer. This works but is a little dirty as the video sometimes plays a bit before the pause. But the video continues to buffer when paused, this is the behavior I'm looking for. I wish to accomplish this without using a delay to call ns.togglePause.
Is there a way to force buffering after calling ns.togglePause() in the netStatusHandler?
Thanks,
FJ0
Sorry, I missed your post did you resolve your problem?
ASKER
No, I have not found the exact behavior i was look for. But I have got it working a bit better. I just wish I was able to start the stream, in the pause state and start the buffering. I have to let it play a second or two or the buffer will stop. guess i would need to subclass netStream if that's possible.
Is that possoble to upload your sample and I will improve?
ASKER
basically this is what i'm doing:
any ideas, or secret documentation let me know...
Thank
any ideas, or secret documentation let me know...
Thank
private function netStatusHandler1(event:NetStatusEvent):void
{
trace(event.info.code);
switch(event.info.code) {
case "NetConnection.Connect.Success":
if (event.info.code == "NetConnection.Connect.Success")
{
if (event.info.secureToken != null)
nc1.call("secureTokenResponse", null,
TEA.decrypt(event.info.secureToken, "****"));
}
ns1 = new NetStream(nc1);
ns1.bufferTime = bufTime;
ns1.play(stream1);
ns1.client = nsClient1;
minorVideo = new Video();
minorVideo.deblocking =1;
minorVideo.smoothing = false;
minorVideo.attachNetStream(ns1);
uicMinor.addChild(minorVideo);
//ns1.pause();
nc1Connected = true;
delayPauseTimer1.start();
break;
case "NetConnection.Connect.Failed":
connectionError();
break;
}
}
//timer is set as so
private var delayPauseTimer1:Timer = new Timer(1000, 1);
//then this is the timer function
private function delayPause1(evt:TimerEvent):void {
trace("delayPause1");
ns1.pause();
}
You can solve your problem easily by set volume to zero and storing last play position. So, when user clicking on play button you will seek to last position and setting volume to one. As soon as user will click on pause set volume back to zero
ASKER
How would that help. maybe you don't understand. I wish to pause (prevent autoplay) when a stream is established. so on the netStatus handler event I call. ns.pause (or ns.togglePause). However the stream stops unless I let it play a bit then call ns.pause, and the buffer continues to store the stream, while it's paused, as the documentation states. I have no issues with the sound. Thanks anyways.
can you try instead play use seek to the end movie ns.time intead play than pause
http://help.adobe.com/en_US/FlashLite/2.0_FlashLiteAPIReference2/WS5b3ccc516d4fbf351e63e3d118d1ff34e3-7f05.html
http://help.adobe.com/en_US/FlashLite/2.0_FlashLiteAPIReference2/WS5b3ccc516d4fbf351e63e3d118d1ff34e3-7f05.html
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
none