Flex - videoDisplay зависает на секунды при переходе к ключевой точке?
Обновить:
Я понял, что моя проблема существует только при создании моего проекта в качестве Flash Web-приложения (что я обычно делаю, так как я не хочу, чтобы пользователь устанавливал эфирное приложение). Если я просто экспортирую проект и попытаюсь запустить файл.swf, то получу сообщение об ошибке: Error#2148: SWF File file:///blablabla.swf cannon access local resource file:///blablabla.xml
Так что я обычно делаю так: Запустите.swf Отменить сообщение об ошибке (оно загружается, но по какой-то причине сглаживание не работает). Нажмите Файл-> Создать проектор (это позволяет мне создать файл.exe для этой веб-заявки)
Теперь, когда я это сделал, я могу запустить ту же презентацию, используя только что созданный файл.exe. На этот раз я не получаю ошибки, и все работает как надо.
Вот как я это делал, когда делал такие вещи. Этот проект представляет собой видеоплеер с меню, содержащим все фильмы для воспроизведения. Он также реализует ключевые точки и подписи к фильмам.
В любом случае, при использовании этого процесса, я получаю большие задержки при попытке пропустить ключевые моменты, которые находятся в паре минут в фильме. Контрольные точки, близкие к текущему времени воспроизведения, в порядке, но чем дальше, тем дольше. Это не приемлемо.
Если я отлаживаю его, запускаю релиз прямо из папки моего проекта (где я разрешил использовать локальные файлы), тогда он работает гладко. Если я создаю приложение Air, оно также работает плавно..
Эта проблема существует только при запуске через сгенерированный файл.exe, созданный из файла.swf.
Любые идеи о том, как это исправить?
Что мне нужно, так это: я хочу отправить папку (или ZIP-файл) своему клиенту. Он должен открыть это и просто запустить презентацию (.swf или.exe). Я не хочу, чтобы он установил презентацию.
Ниже приведены некоторые из моих предыдущих сведений:
Это функция при щелчке ключевой точки:
private function cuePointClickHandler(cTime:int, cText:String, cNr:int):Function{
return function(e:MouseEvent):void{
trace("Array added: " + cTime);
videoPlayer.playheadTime=cTime;
currentCuePointText=cText;
changeCaption(currentCuePointText);
currentCuePoint=cNr;
trace("Current CuePoint NR: " + currentCuePoint + " ClickHandler!");
updateControls();
}
}
Вот фильм, показывающий проблему: Как вы можете видеть, когда я пропускаю близко к текущему времени, нет проблем или задержек. Когда я нажимаю дальше, задержка составляет несколько секунд. На более медленных машинах это еще дольше. Мне нужно, чтобы он был намного более плавным, с максимальной задержкой в 1 секунду, если это возможно.