ActionScript ProgressBar ProgressBarMode.EVENT - PullRequest
       14

ActionScript ProgressBar ProgressBarMode.EVENT

1 голос
/ 05 октября 2011

Я новичок во флэш-памяти и 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.спасибо.

1 Ответ

1 голос
/ 07 октября 2011

Предполагается, что вы используете FLVPlayer

Не уверен насчет ваших соглашений об именах, но если я правильно прочитал код, splashVid - это имя экземпляра вашего FLVplayer.так что вам нужно слушать игрока, а не индикатор выполнения.Согласно DOCS

splashVid.addEventListener(VideoEvent.READY, doSwitch);

Если это не так, вам нужно удалить все ваши правки и опубликовать 1 вопрос и более подробную информацию о вашем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...