Есть ли способ обнаружить прогресс воспроизведения Flash, используя объект Flash ActiveX, когда прогресс НЕ находится на основной временной шкале? - PullRequest
0 голосов
/ 09 октября 2008

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

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

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

1 Ответ

1 голос
/ 10 октября 2008

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

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