Файлы Flash не работают так, как вы думаете, поэтому вы не сможете получить их «время выполнения», читая SWF.
Вы можете прочитать SWF, чтобы получитьколичество кадров в основной временной шкале, но большинство приложений и фильмов Flash будут иметь только 2 кадра в основной временной шкале.Один из этих кадров затем будет вставлять MovieClip, который сам может иметь любое количество кадров, или вставлять другой MovieClip, который также имеет переменное количество кадров.Да, у дочернего MovieClip может быть больше кадров, чем у родительского, и Flash соответствующим образом воспроизводит их.
Помимо небольшого усложнения встроенного MovieClips, у вас также есть ActionScript, который может заставить Flash перепрыгивать или воспроизводить кадры, что делаетКоличество кадров в исходном SWF полностью не зависит от количества кадров, которые фактически воспроизводятся.На самом деле большинство приложений Flash в действительности имеют только два кадра в SWF, но при воспроизведении их будет тысячи или миллионы в течение времени выполнения - это просто один и тот же кадр, воспроизводимый снова и снова с помощью ActionScript, генерирующего контент.
Единственный способ надежного получения количества кадров времени выполнения - создать приложение Flash, которое загружает другой SWF-файл, воспроизводит его и считает кадры.Если загруженный SWF-файл является интерактивным, число может варьироваться от одного прогона к другому.Тем не менее, это процесс, который можно автоматизировать, но вам нужно запустить Flash Player либо в контейнере ActiveX, с которым вы можете общаться, чтобы получить результаты, либо иметь службу, прослушивающую опубликованные данные.