Использование класса DRMErrorEvent

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

Adobe Flash Player и Adobe AIR отправляют объект DRMErrorEvent, когда объект NetStream, пытающийся воспроизвести защищенное содержимое, обнаруживает относящуюся к DRM ошибку. Если учетные данные пользователя недопустимы в приложении AIR, объект DRMAuthenticateEvent отправляется многократно, пока пользователь не введет действительные учетные данные или приложение не запретит дальнейшие попытки. Приложение должно прослушивать все события ошибок DRM, чтобы обнаружить, определить и обработать их. В проигрывателе Flash Player приложение прослушивает все события ошибок DRM для обнаружения, идентификации и обработки относящихся к DRM ошибок.

Даже если учетные данные пользователя верны, условия ваучера содержимого могут запрещать просмотр зашифрованного содержимого. Например, доступ может быть запрещен, если пользователь пытается просмотреть содержимое в неавторизованной программе. Неавторизованной считается программа, которая не была авторизована издателем зашифрованного содержимого. В этом случае отправляется объект DRMErrorEvent.

События ошибок также могут отправляться, если содержимое повреждено или если версия приложения не соответствует требованиям ваучера. В приложении должен быть работающий механизм для обработки ошибок.

Свойства DRMErrorEvent

Полный список ошибок см. в разделе «Коды ошибок среды выполнения» в справочнике ActionScript® 3.0 для Adobe® Flash® Professional CS5. Относящиеся к DRM ошибки начинаются с кода 3300.

Создание обработчика DRMErrorEvent

В примере ниже показано, как создать обработчик событий для объекта NetStream, являющегося инициатором события. Он вызывается, когда объект NetStream обнаруживает ошибку при попытке воспроизведения защищенного содержимого. Как правило, при возникновении ошибки программа выполняет задачи по очистке. Затем она сообщает об ошибке пользователю и предлагает варианты решения проблемы.

private function drmErrorEventHandler(event:DRMErrorEvent):void  
{ 
    trace(event.toString()); 
}