Я новичок во флэш-памяти и ActionScript.
указанную страницу можно увидеть здесь .
мой код AS:
import fl.video.*;
import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
import flash.events.ProgressEvent;
import fl.events.ComponentEvent;
// FLVplayback control
splashVid.visible = false;
progressBar.mode = ProgressBarMode.EVENT;
progressBar.indeterminate = false;
progressBar.source = splashVid;
progressBar.addEventListener(Event.COMPLETE, doSwitch);
progressBar.addEventListener(ProgressEvent.PROGRESS, progressHandler);
function progressHandler(event:ProgressEvent):void
{
iLabel.text = Math.round(event.bytesLoaded).toString();
}
function doSwitch(e:Event):void
{
iLabel.text = "loaded";
}
проблема заключается в том, что обратный вызов progressHandler работает правильно (ProgressEvent.PROGRESS).обратный вызов doSwitch никогда не срабатывает (Event.COMPLETE).
Не могли бы вы любезно объяснить ошибку в моем подходе?
ЦЕЛЬ: я пытаюсь загрузить mp4 фиксированного размера и затем использоватьСобытие COMPLETE для визуализации элементов управления видеоклипа.
спасибо.
EDIT: событие COMPLETE теперь срабатывает после теста, но срабатывает после воспроизведения всего клипа.как бы я начал запускать event.complete, когда видеофайл был загружен, но не воспроизведен?спасибо.
РЕДАКТИРОВАТЬ: я мог бы сделать сравнение между загруженными байтами и суммарными байтами в progressHandler ... но проблема в том, что анимация прогресса никогда не завершается полностью, и я хотел бы отобразить полный индикатор выполнения перед переключением настроек отображения.
РЕДАКТИРОВАТЬ: индикатор выполнения завершает загрузку анимации, если я не скрываю ее после загрузки всего файла, чтобы позаботиться о моей проблеме.
ОДНАКО: я все еще открыт к советам относительноесли есть лучший способ сделать это, используя какое-то событие COMPLETE, которое запускается после полной загрузки исходного файла mp4.спасибо.