[this is a repost, but I’m adding additional information.]
I’ve created a custom video player with a scrubber that follows the video progress and that you can drag (scrub) to go to a different position on the video.
THE PROBLEM: When I scrub the video and then release, the scrubber jumps to some position to the right of where I release it, rather than just proceeding from the point of release.
The code that pegs the scrubber to the video, or the video to the scrubber during scrubbing, is in a function fired by a timer. That function also populates a dynamic text field showing the scrubber position.
function updateVideoScrub(e:TimerEvent):void {
if (scrubbing) {
ns.seek(scrubber.x * vidDuration / progBar.width);
progLabel.text = (scrubber.x * vidDuration / progBar.width).toFixed(2);
} else {
scrubber.x = ns.time * progBar.width / vidDuration;
progLabel.text = (scrubber.x * vidDuration / progBar.width).toFixed(2);
}
}
Elsewhere, a MOUSE_UP function updates a streamLabel TextField whenever the scrubber is released:
function mouseUpHandler(e:Event):void {
if (scrubbing) {
scrubbing = false;
streamLabel.text = ns.time.toFixed(2);
}
}
Looking at the progLabel and streamLabel TextFields, I see that regardless of where I release the scrubber, the video resumes at x.02 seconds, where x is the nearest even number GREATER THAN the point where I released the scrubber.
So, if I scrub to 10 sec. and release, the video starts at 10.02 sec. If I scrub to 10.3 sec., the video starts at 12.02 sec. If I scrub to 11 seconds, the video starts at 12.02 sec. If I scrub to 12.03 sec., the video starts at 14.02 sec. Etc.
Why does this happen?
FYI, the video I’m using is an 18.7 sec duration FLV file that I created using Adobe AfterEffects. This was the first time I have ever used AfterEffects and I’m wondering if my problem has something to do with cue points or something similar. I did not set any cue points but I wonder if there is some default in AfterEffects that sets them??
BTW, this also appears to happen using an FLVPlayback component to play the same video.