求大神帮帮忙
编写了一个代码,模拟视频播放器的,可编出来后发现播完视频进度条只走了一半,然后就不走了,还有时间显示那里30s时就变为1:30然后60s时还是显示1分钟,快退按钮不能用
var nc: NetConnection=new NetConnection();
nc.connect(null);
var ns: NetStream=new NetStream(nc);
ns.play("黑执事 第三季01.flv");
vid.attachNetStream(ns);
var yl: Number=0.5;
var nsyl: SoundTransform =new SoundTransform();
bfjd_mc.scaleX=jzjd_mc.scaleX=0;
var bfbfb:int=0;
var xzbfb:int=0;
var _duration: Number=0;
var _client: Object=new Object();
_client.onMetaData=onMetaData;
ns.client=_client;
pause_btn.addEventListener(MouseEvent.CLICK,zt);
play_btn.addEventListener(MouseEvent.CLICK, bf);
stop_btn.addEventListener(MouseEvent.CLICK,tz);
fast_btn.addEventListener(MouseEvent.CLICK,kj);
slow_btn.addEventListener(MouseEvent.CLICK,ht);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
function asyncErrorHandler(event: AsyncErrorEvent):void
{
}
function zt(event: MouseEvent):void
{
ns.pause();
}
function kj(event: MouseEvent):void
{
ns.seek(ns.time+1);
}
function ht(event: MouseEvent):void
{
ns.seek(ns.time-1);
}
function tz(event: MouseEvent):void
{
bfbfb=0;
bfjd_mc.scaleX=0;
ns.pause();
ns.seek(0);
}
function bf(event: MouseEvent):void
{
ns.resume();
addEventListener(Event.ENTER_FRAME,gx);
}
function onMetaData(data:Object):void
{
_duration=data.duration;
}
var bfxh: String;
ns.addEventListener(NetStatusEvent.NET_STATUS,statusHandler);
function statusHandler(event: NetStatusEvent):void
{
bfxh=event.info.code;
}
addEventListener(Event.ENTER_FRAME,gx);
function gx(event: Event):void
{
if (ns.bytesLoaded>0)
{
xzbfb=ns.bytesLoaded/ns.bytesTotal*100;
jzjd_mc.scaleX=xzbfb/100;
}
if (_duration>0 && ns.time>0)
{
bfbfb=ns.time/_duration*100;
bfjd_mc.scaleX=bfbfb/100;
}
if (bfxh=="NetStream.Play.Stop")
{
bfbfb=0;
bfjd_mc.scaleX=0;
ns.pause();
ns.seek(0);
}
bftxt.text=Math.round(ns.time/60)+":"+Math.round(ns.time%60);
zcdtxt.text=Math.round(_duration/60)+":"+Math.round(_duration%60);
yl=(ylhk_mc.x-345)/50;
ylt_mc.scaleX=yl;
nsyl.volume =yl;
ns.soundTransform =nsyl;
}
var fw: Rectangle=new Rectangle(345,353,50,0);
ylhk_mc.addEventListener(MouseEvent.MOUSE_DOWN,ylhkax);
ylhk_mc.addEventListener(MouseEvent.MOUSE_UP,ylhksk);
stage.addEventListener(MouseEvent.MOUSE_UP,ylhksk);
function ylhkax(event: MouseEvent):void
{
ylhk_mc.startDrag(false,fw);
}
function ylhksk(event: MouseEvent):void
{
ylhk_mc.stopDrag();
}
编写了一个代码,模拟视频播放器的,可编出来后发现播完视频进度条只走了一半,然后就不走了,还有时间显示那里30s时就变为1:30然后60s时还是显示1分钟,快退按钮不能用
var nc: NetConnection=new NetConnection();
nc.connect(null);
var ns: NetStream=new NetStream(nc);
ns.play("黑执事 第三季01.flv");
vid.attachNetStream(ns);
var yl: Number=0.5;
var nsyl: SoundTransform =new SoundTransform();
bfjd_mc.scaleX=jzjd_mc.scaleX=0;
var bfbfb:int=0;
var xzbfb:int=0;
var _duration: Number=0;
var _client: Object=new Object();
_client.onMetaData=onMetaData;
ns.client=_client;
pause_btn.addEventListener(MouseEvent.CLICK,zt);
play_btn.addEventListener(MouseEvent.CLICK, bf);
stop_btn.addEventListener(MouseEvent.CLICK,tz);
fast_btn.addEventListener(MouseEvent.CLICK,kj);
slow_btn.addEventListener(MouseEvent.CLICK,ht);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
function asyncErrorHandler(event: AsyncErrorEvent):void
{
}
function zt(event: MouseEvent):void
{
ns.pause();
}
function kj(event: MouseEvent):void
{
ns.seek(ns.time+1);
}
function ht(event: MouseEvent):void
{
ns.seek(ns.time-1);
}
function tz(event: MouseEvent):void
{
bfbfb=0;
bfjd_mc.scaleX=0;
ns.pause();
ns.seek(0);
}
function bf(event: MouseEvent):void
{
ns.resume();
addEventListener(Event.ENTER_FRAME,gx);
}
function onMetaData(data:Object):void
{
_duration=data.duration;
}
var bfxh: String;
ns.addEventListener(NetStatusEvent.NET_STATUS,statusHandler);
function statusHandler(event: NetStatusEvent):void
{
bfxh=event.info.code;
}
addEventListener(Event.ENTER_FRAME,gx);
function gx(event: Event):void
{
if (ns.bytesLoaded>0)
{
xzbfb=ns.bytesLoaded/ns.bytesTotal*100;
jzjd_mc.scaleX=xzbfb/100;
}
if (_duration>0 && ns.time>0)
{
bfbfb=ns.time/_duration*100;
bfjd_mc.scaleX=bfbfb/100;
}
if (bfxh=="NetStream.Play.Stop")
{
bfbfb=0;
bfjd_mc.scaleX=0;
ns.pause();
ns.seek(0);
}
bftxt.text=Math.round(ns.time/60)+":"+Math.round(ns.time%60);
zcdtxt.text=Math.round(_duration/60)+":"+Math.round(_duration%60);
yl=(ylhk_mc.x-345)/50;
ylt_mc.scaleX=yl;
nsyl.volume =yl;
ns.soundTransform =nsyl;
}
var fw: Rectangle=new Rectangle(345,353,50,0);
ylhk_mc.addEventListener(MouseEvent.MOUSE_DOWN,ylhkax);
ylhk_mc.addEventListener(MouseEvent.MOUSE_UP,ylhksk);
stage.addEventListener(MouseEvent.MOUSE_UP,ylhksk);
function ylhkax(event: MouseEvent):void
{
ylhk_mc.startDrag(false,fw);
}
function ylhksk(event: MouseEvent):void
{
ylhk_mc.stopDrag();
}

