Обновление проигрывателя Flash Player для поддержки Flash Access

Flash Player 10.1 или более поздних версий

Для поддержки Flash Access в проигрывателе Flash Player требуется модуль Flash Access. Когда проигрыватель Flash Player пытается воспроизвести защищенное содержимое, в среде выполнения показано, необходимо ли загрузить модуль или новую версию проигрывателя Flash Player. Таким способом проигрыватель Flash Player предоставляет разработчикам SWF возможность отказаться от обновления.

В большинстве случаев для воспроизведения защищенного содержимого разработчикам SWF потребуется выполнить обновление для получения необходимого модуля Flash Access или версии проигрывателя. Для обновления можно использовать API-интерфейс SystemUpdater, позволяющий получить последнюю версию модуля Flash Access или проигрывателя Flash Player.

API-интерфейс SystemUpdater позволяет выполнять только одно обновление за один раз. Ошибка с кодом 2201 обозначает, что обновление уже выполняется в текущем или другом экземпляре среды выполнения. Например, если обновление выполняется в экземпляре Flash Player в браузере Internet Explorer, выполнение обновления в экземпляре Flash Player в браузере Firefox невозможно.

API-интерфейс SystemUpdater поддерживается только для настольных платформ.

Примечание. Для версий Flash Player, предшествующих 10.1, используйте механизм обновления, поддерживаемый в более ранних версиях проигрывателя (загрузка вручную или установка с сайта www.adobe.com или ExpressInstall). Помимо этого, установщик AIR обрабатывает необходимые обновления для Flash Access и не поддерживает API-интерфейс SystemUpdater.

Прослушивание события обновления

Когда требуется обновление модуля Flash Access, объект NetStream отправляет событие NetStatusEvent с кодовым значением DRM.UpdateNeeded. Это значение показывает, что объекту NetStream не удается воспроизвести защищенный поток с использованием какого-либо из установленных в данный момент модулей Flash Access. Прослушайте это событие и вызовите следующий код:

SystemUpdater.update(flash.system.SystemUpdaterType.DRM)
Этот код позволяет обновить модуль Flash Access, установленный в проигрывателе. Согласие пользователя на обновление этого модуля не требуется.

Если модуль Flash Access не найден, возникает ошибка. См. действие 3 в разделе «Подробный технологический процесс API-интерфейса».

Примечание. Если метод play() вызывается для зашифрованного потока в версиях проигрывателя, предшествующих 10.1, отправляется объект NetStatusEvent с кодовым значением NetStream.Play.StreamNotFound. В более ранних версиях проигрывателя используйте механизм обновления, поддерживаемый в этих проигрывателях (обновление вручную или установка с сайта www.adobe.com или ExpressInstall).

Если требуется обновление самого проигрывателя, объект SystemUpdater отправляет событие StatusEvent с кодовым значением DRM.UpdateNeededButIncompatible. Для обновления проигрывателя требуется согласие пользователя. В приложении предусмотрите интерфейс, в котором пользователь сможет дать согласие и запустить обновление проигрывателя. Прослушайте событие StatusEvent и вызовите следующий код:

SystemUpdater.update(flash.system.SystemUpdaterType.SYSTEM);
Этот код позволяет запустить обновление проигрывателя.

Дополнительные события класса SystemUpdater описаны в cправочнике ActionScript® 3.0 для платформы Adobe® Flash® Platform.

По завершении обновления проигрывателя выполняется переход на страницу, на которой началось обновление. Модуль Flash Access загружен, и можно начать воспроизведение потока.