Нарисуйте круг на Custom Flv Player - PullRequest
0 голосов
/ 08 сентября 2010

Ну, у меня есть собственный flv-плеер, который читает XmL и рисует круги на Flv-видео. Положение и время указываются в XML. Я сделал расчет с помощью функции as3 getTimer (). Это работает нормально, независимо от того, как долго вы останавливаетесь, а затем играете снова. Круги показаны в нужное время.

Теперь у меня две проблемы

1- Как можно сбросить getTimer ?? требуется, когда пользователю разрешено играть в другой SWF. 2-Есть ли другой способ, кроме расчета getTimer. Я не использую класс Timer, так как он зависит от времени выполнения Frame-Script и может дать неправильный результат, поэтому он не так точен, как функция getTimer (). 3. Поскольку я использую пользовательский слайдер, мне приходится каждый раз выполнять вычисления, когда пользователь щелкает или перетаскивает слайдер с помощью функции get.Timer (), а затем вычитает секунды и все такое. но опять же, это очень тяжело, когда пользователь проигрывает другой SWF, так как мои расчеты основаны на функции getTimer ().

Если доступен какой-либо проект с открытым исходным кодом, пожалуйста, перешлите мне ссылку, но я хочу, чтобы он работал на Flash Player и Air Player?

1 Ответ

0 голосов
/ 08 сентября 2010

Я постараюсь указать вам правильное направление, но сначала отвечу на ваши вопросы:

  1. Нет
  2. Нет (кроме использования таймера)
  3. Это не должно быть более трудным

Расширять номер 3, потому что это то, где ваше решение лежит, это действительно не должно быть более сложным.Что вам нужно сделать, это отследить время начала текущего FLV.Пока у вас есть, что математика действительно ничем не отличается.Самое простое - ввести собственную функцию reset и обернуть getTimer в пользовательскую функцию, чтобы добавить остальные необходимые функции.Примерно так:

var startTime:int;

function resetTimer():void {
    startTime = getTimer();
}

function getTime():int {
    return getTimer() - startTime;
}

В приведенном выше примере вы всегда будете получать доступ к текущему времени с getTime, а не с getTimer, за исключением того, что все одинаково.Просто убедитесь, что вы звоните resetTimer, когда это необходимо.

Надеюсь, это поможет!

...