Я создаю интерфейс SWF, который воспроизводит определенные сегменты FLV-видео по запросу. Когда пользователь нажимает определенную кнопку, указатель воспроизведения переходит к предварительно определенному значению startValue.
vid1.playheadTime = startValue;
vid1.play();
Это работает нормально, но иногда требуется много времени, чтобы видео перешло к startValue, и я хочу отобразить сообщение «Идет загрузка, пожалуйста, подождите», пока это происходит.
Я попытался использовать таймеры, чтобы проверить текущее время точки воспроизведения и отобразить сообщение (содержащееся в ролике loading_mc), если оно отличается от времени воспроизведения.
var myTimer:Timer = new Timer(100);
myTimer.addEventListener(TimerEvent.TIMER, video_ready);
myTimer.start();
function video_ready (e:TimerEvent):void{
if (vid1.playheadTime != startValue){
loading_mc.visible = true;
}
else {
myTimer.stop();
vid1.play();
loading_mc.visible = false;
}
Это отлично работает, если я тестирую его во Flash, но при тестировании в браузере это часто приводит к сбою проигрывателя SWF или, иногда, клип loading_mc не исчезает. Я также считаю, что это может быть не самое элегантное решение. Любые мысли об альтернативном способе справиться с этим?
Большое спасибо.