im having somethin very odd. when i try to pause a progresive flv it works, but to resume it gets disconnected. and theres no way to get it working.
this is my code
Code:
package {
import flash.display.Sprite;
import flash.events.*;
import flash.display.MovieClip;
import fl.video.VideoPlayer;
import fl.video.VideoEvent;
import fl.video.MetadataEvent;
import fl.video.VideoProgressEvent;
import fl.video.VideoScaleMode;
import fl.video.VideoState;
import fl.video.NCManager;
import flash.events.NetStatusEvent;
public class myvid extends MovieClip {
private var player:VideoPlayer;
public var src:String;
private var meta:Object;
private var srcw:Number;
private var srch:Number;
private var srcduration:Number;
private var bar:Sprite;
private var posbar:fondo;
private var currentpos:fondo;
private var bloaded:fondo;
private var vc:vcontrol;
private var actionclose:Event=new Event("actionclose");
public function myvid(src:String) {
myMC.dispatcher.addEventListener("actionclose", actioncloseHandler);
player = new VideoPlayer();
//player.idleTimeout=1000000;
player.bufferTime=5;
player.scaleMode=VideoScaleMode.NO_SCALE;
player.setSize(480, 320);
player.x=360;
player.y=7;
addChild(player);
addEventListener(Event.REMOVED,removedHandler);
player.addEventListener(VideoEvent.COMPLETE,vidcompleteHandler);
player.addEventListener(VideoEvent.PLAYHEAD_UPDATE, playingHandler);
player.addEventListener(MetadataEvent.METADATA_RECEIVED, metadataHandler);
player.addEventListener(VideoProgressEvent.PROGRESS, loadingHandler);
player.addEventListener(VideoEvent.STATE_CHANGE, stateHandler);
player.addEventListener(VideoEvent.READY, readyHandler);
controller();
vidload(src);
}
public function vidload(url:String) {
player.load(url);
player.netStream.addEventListener(NetStatusEvent.NET_STATUS,nsHandler);
player.netConnection.addEventListener(NetStatusEvent.NET_STATUS,nsHandler);
}
public function controller() {
bar=new Sprite();
posbar=new fondo(0x333333,0x111111,480,3);
bloaded=new fondo(0x226666,0x111111,480,3,1);
currentpos=new fondo(0xffffff,0x111111,480,3,0.4);
bar.x=365;
bar.y=328;
vc=new vcontrol();
vc.x=360;
vc.y=327;
vc.addEventListener(MouseEvent.CLICK,vcclikHandler);
addChild(bar);
addChild(vc);
bar.addChild(posbar);
bar.addChild(bloaded);
bar.addChild(currentpos);
bar.width=475;
function vcclikHandler(event:MouseEvent):void {
trace(player.state+"||||||||"+event.currentTarget);
/*if (vc.currentFrame==1) {
//vc.gotoAndStop(2);
} else {
//vc.gotoAndStop(1);
player.netStream.pause();
}*/
if (player.state!= "playing") {
trace("try play");
vc.gotoAndStop(1);
player.netStream.pause();
//player.play();
}
if (player.state== "playing") {
trace("try pause");
vc.gotoAndStop(2);
player.netStream.pause();
}
}
}
private function stateHandler(event:VideoEvent):void {
trace("||||||||"+event.state);
}
private function nsHandler(event:NetStatusEvent):void {
trace("_______________"+event.info.code);
}
private function metadataHandler(metadataObj:Object):void {
meta = metadataObj;
srcduration=meta.info.duration;
trace(meta.info.videodatarate);
}
private function loadingHandler(event:VideoProgressEvent):void {
var percent:Number=event.bytesLoaded/event.bytesTotal;
bloaded.width=480*percent;
}
private function readyHandler(event:VideoEvent):void {
trace("ready");
player.play();
}
private function vidcompleteHandler(event:VideoEvent):void {
//player.autoRewind=true;
}
private function playingHandler(event:VideoEvent):void {
currentpos.width=(480/srcduration)*event.playheadTime;
}
function actioncloseHandler(event:Event):void {
trace("close");
parent.removeChild(this);
}
function removedHandler(event:Event):void {
player.close();
addEventListener(Event.REMOVED,removedHandler);
player.removeEventListener(VideoEvent.COMPLETE,vidcompleteHandler);
player.removeEventListener(VideoEvent.PLAYHEAD_UPDATE, playingHandler);
player.removeEventListener(MetadataEvent.METADATA_RECEIVED, metadataHandler);
player.removeEventListener(VideoProgressEvent.PROGRESS, loadingHandler);
player.removeEventListener(VideoEvent.STATE_CHANGE, stateHandler);
player.removeEventListener(VideoEvent.READY, readyHandler);
}
}
}