Есть ли способ определить прогресс воспроизведения Flash с помощью объекта Flash ActiveX, когда прогресс НЕ находится на основной шкале времени?

Я занимался программированием, в котором встроил элемент управления Flash ActiveX в свою программу. Я буду воспроизводить SWF-файлы в «плейлисте», предоставленном пользователем. Обычно я держу таймер, который смотрит на CurrentFrame и TotalFrames для обнаружения движения вперед. Я не допускаю зацикливания - если CurrentFrame когда-либо уменьшается, я выхожу из файла.

Однако есть новое поколение SWF-файлов - часто из программ преобразования, которые превращают презентации PowerPoint в SWF-файлы, - которые теперь делают все, что выходит за рамки основной временной шкалы. Таким образом, 30-секундный SWF-файл может содержать только 5 кадров в соответствии с элементом управления ActiveX. Он все еще воспроизводится в течение 30 секунд, но CurrentFrame достигает TotalFrames очень быстро, и моя программа прекращает воспроизведение файла в этот момент. Не желаемое поведение.

Итак - есть ли способ, используя только элемент управления Flash ActiveX, чтобы я мог определить, идет ли воспроизведение Flash вперед? Или есть какое-то событие, к которому я могу подключиться или найти, которое Flash использует внутри, чтобы указать, что он достиг конца воспроизведения?


person GuyWithDogs    schedule 09.10.2008    source источник


Ответы (1)


Вы мало что можете с этим поделать. По сути, вам нужно каким-то образом знать, какова продолжительность, и если SWF не предоставляет эту информацию, я не могу придумать решение. Если у вас есть контроль над загруженным swf-файлом, вы можете связаться с хостом с помощью ExternalInterface, когда swf-файл будет завершен. Это, конечно, не сработает, если вы не можете изменить SWF-файлы ..

person Antti    schedule 09.10.2008
comment
Спасибо. Похоже, это действительно безнадежное дело. Похоже, что нет способа глубже проникнуть во внутренности SWF через интерфейс ActiveX. И поскольку в моем случае я не могу изменить SWF-файл, я не могу следовать предложенному вами подходу к использованию ExternalInterface. - person GuyWithDogs; 13.05.2009