Пакет | flash.net.drm |
Класс | public class DRMManager |
Наследование | DRMManager EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
DRMManager.getDRMManager()
можно обращаться к существующему объекту DRMManager для выполнения следующих задач, связанных с управлением правами DRM:
- предварительная загрузка ваучеров с сервера управления правами доступа к содержимому можно выполнять с помощью объекта DRMContentData;
- запрос отдельного ваучера из локального кэша с помощью объекта DRMContentData;
- сброс всех ваучеров (только для AIR).
Метода, с помощью которого можно получить список всех ваучеров в локальном кэше, не существует.
Не создавайте экземпляр класса DRMManager. С помощью статического метода DRMManager.getDRMManager()
можно получить доступ к существующему объекту DRMManager.
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах и среде AIR для телевизионных устройств, но не поддерживается на мобильных устройствах. Используйте свойство DRMManager.isSupported
, чтобы проверить наличие поддержки в среде выполнения. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
isSupported : Boolean [статические] [только для чтения]
Свойству isSupported задается значение true, если текущая платформа поддерживает класс DRMManager, в противном случае задается значение false. | DRMManager | ||
networkIdleTimeout : Number [статические] | DRMManager |
Метод | Определено | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Добавляет работающее в данный момент устройство в группу устройств. | DRMManager | ||
Выполняет аутентификацию пользователя. | DRMManager | ||
Посылает событие в поток событий. | EventDispatcher | ||
[статические]
Возвращает экземпляр единственного объекта DRMManager. | DRMManager | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Получает ваучер предварительного просмотра с сервера лицензий, который позволяет проверить, можно ли воспроизвести содержимое на определенном компьютере. | DRMManager | ||
Загружает ваучер с сервера управления правами доступа к содержимому или из локального кэша ваучеров. | DRMManager | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Удаляет работающее в данный момент устройство в группу устройств. | DRMManager | ||
В приложениях AIR это приводит к удалению всех локально кэшированных данных ваучеров управления цифровыми правами (DRM). | DRMManager | ||
Возвращает на сервер лицензий все ваучеры, которые соответствуют всем указанным условиям. | DRMManager | ||
Задает маркер аутентификации для использования при обмене данными с указанным сервером и доменом. | DRMManager | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
DRMManager | |||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
DRMManager отправляет объект DRMAuthenticationCompleteEvent, если пользователь прошел аутентификацию на сервере управления правами доступа к содержимому после вызова метода authenticate(). | DRMManager | |||
DRMManager отправляет объект DRMAuthenticationErrorEvent, если пользователь не прошел аутентификацию на сервере управления правами доступа к содержимому после вызова метода authenticate(). | DRMManager | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
DRMManager отправляет объект DRMErrorEvent, если запрошенный ваучер невозможно получить с сервера управления правами доступа к содержимому. | DRMManager | |||
DRMManager отправляет объект DRMStatusEvent, если запрошенный ваучер получен с сервера управления правами доступа к содержимому. | DRMManager |
isSupported | свойство |
isSupported:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2 |
Свойству isSupported
задается значение true
, если текущая платформа поддерживает класс DRMManager, в противном случае задается значение false
.
Реализация
public static function get isSupported():Boolean
networkIdleTimeout | свойство |
addToDeviceGroup | () | метод |
public function addToDeviceGroup(deviceGroup:DRMDeviceGroup, forceRefresh:Boolean = false):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 3.0, Flash Player 11.9 |
Добавляет работающее в данный момент устройство в группу устройств.
Параметры
deviceGroup:DRMDeviceGroup | |
forceRefresh:Boolean (default = false )
|
authenticate | () | метод |
public function authenticate(serverURL:String, domain:String, username:String, password:String):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
Выполняет аутентификацию пользователя.
Чтобы узнать о результате предпринятой попытки аутентификации, необходимо прослушивать события authenticationComplete
и authenticationError
. Из нескольких вызовов метода authenticate()
образуется очередь. Объект AuthenticationCompleteEvent, отправляемый для события authenticationComplete
, содержит маркер аутентификации, который может сохранить приложение.
Сохраненный или загруженный иным образом маркер аутентификации можно использовать в будущем для создания проверенного сеанса на сервере управления правами доступа к содержимому. Для создания сеанса с помощью маркера необходимо вызвать метод setAuthenticationToken()
объекта DRMManager. Свойства маркера, такие как дата окончания срока действия, определяются настройками сервера, создавшего маркер.
Важно! (Только для AIR) Вызов метода authenticate()
не будет успешным, если Интернет-подключение пользователя осуществляется через прокси-сервер, запрашивающий проверку подлинности. Несмотря на то что такие пользователи не могут предварительно загрузить ваучер DRM, требующий проверки подлинности, приложение может получить такой ваучер, начав воспроизведение и использовав метод NetStream setAuthenticationCredentials()
для регистрации пользователя, как на прокси-сервере, так и на сервере управления правами доступа к содержимому. После получения ваучера пользователь может просматривать содержимое автономно (в течение времени, предусмотренного лицензией, представленной ваучером).
Параметры
serverURL:String — URL-адрес сервера управления правами доступа к содержимому, который может предоставить ваучер на просмотр защищенного содержимого.
| |
domain:String — Домен на сервере (не имя сетевого или Интернет-домена)
| |
username:String — Имя пользователя
| |
password:String — Пароль пользователя
|
Связанные элементы API
getDRMManager | () | метод |
public static function getDRMManager():DRMManager
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
Возвращает экземпляр единственного объекта DRMManager.
Для каждого домена защиты существует один экземпляр DRMManager.
ВозвращаетDRMManager |
Связанные элементы API
loadPreviewVoucher | () | метод |
public function loadPreviewVoucher(contentData:DRMContentData):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2, Flash Player 10.1 |
Получает ваучер предварительного просмотра с сервера лицензий, который позволяет проверить, можно ли воспроизвести содержимое на определенном компьютере. Эта возможность позволяет пользователям проверить, можно ли воспроизвести содержимое на данном компьютере, прежде чем оплачивать и загружать его. Она полезна, когда компьютер пользователя не оснащен необходимыми возможностями защиты вывода или программным обеспечением для воспроизведения содержимого.
Как и loadVoucher()
, данный метод представляет собой асинхронный вызов, после успешного выполнения которого отправляется событие DRMStatusEvent, а в случае ошибки — DRMErrorEvent.
Параметры
contentData:DRMContentData |
loadVoucher | () | метод |
public function loadVoucher(contentData:DRMContentData, setting:String):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
Загружает ваучер с сервера управления правами доступа к содержимому или из локального кэша ваучеров.
Ваучер загружается согласно значению параметра setting
:
- LoadVoucherSetting.FORCE_REFRESH: ваучер всегда загружается с сервера управления правами доступа к содержимому.
- LoadVoucherSetting.LOCAL_ONLY: ваучер загружается только из локального кэша.
- LoadVoucherSetting.ALLOW_SERVER: ваучер загружается из локального кэша, если это возможно. В противном случае он загружается с сервера.
Класс LoadVoucherSetting определяет строковые константы, используемые в качестве значений параметра setting
.
После успешной загрузки ваучера DRMManager отправляет событие DRM status. Приложение может начать воспроизведение сразу после загрузки ваучера. Загруженный ваучер доступен в свойстве voucher
отправленного объекта DRMStatusEvent. С помощью этого объекта ваучера можно показать пользователю соответствующую информацию о правах доступа к содержимому.
Если не удалось загрузить ваучер с сервера управления правами доступа к содержимому, то отправляется событие ошибки DRM. Свойство errorID
отправленного объекта DRMErrorEvent указывает на причину ошибки. Типичной причиной ошибки является попытка подключения к серверу правления правами доступа к содержимому, когда пользователь находится не в сети, а также попытка загрузить ваучер, когда пользователь не выполнил вход. Приложение может ответить на эти ошибки и выполнить корректирующее действие. Например, если для загрузки ваучера необходимо предоставить учетные данные аутентификации, можно запросить пользователя предоставить имя пользователя и пароль, вызвать метод DRMManager authenticate()
и попытаться загрузить ваучер снова.
Если при использовании настройки localOnly
не удается получить ваучер из локального кэша, объект DRMErrorEvent не отправляется. Вместо этого отправляется событие DRM status. Свойство detail
этого объекта DRMStatusEvent все еще имеет значение DRM.voucherObtained
, но свойство voucher
имеет значение null
.
Параметры
contentData:DRMContentData — Объект DRMContentData из мультимедийного файла, защищенного по технологии DRM
| |
setting:String — Определяет, загружается ваучер из локального ваучера или с сервера управления правами доступа к содержимому
|
removeFromDeviceGroup | () | метод |
public function removeFromDeviceGroup(deviceGroup:DRMDeviceGroup):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 3.0, Flash Player 11.9 |
Удаляет работающее в данный момент устройство в группу устройств.
Параметры
deviceGroup:DRMDeviceGroup |
resetDRMVouchers | () | метод |
public function resetDRMVouchers():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 11.8 |
В приложениях AIR это приводит к удалению всех локально кэшированных данных ваучеров управления цифровыми правами (DRM). Для приложений, использующих браузер, такая ситуация возникает только при наличии ошибок 3322, 3346, 3323, 3326 и соответствует действиям панели параметров воспроизведения защищенного содержимого.
Чтобы пользователь мог снова получить доступ к зашифрованному содержимому, приложение должно снова загрузить необходимые ваучеры. Вызов этой функции равнозначен вызову Netstream.resetDRMVouchers()
.
Выдает
IOError — Невозможно удалить данные ваучера.
|
Связанные элементы API
returnVoucher | () | метод |
public function returnVoucher(inServerURL:String, immediateCommit:Boolean, licenseID:String, policyID:String):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 11.8, AIR 3.8 |
Возвращает на сервер лицензий все ваучеры, которые соответствуют всем указанным условиям. Когда ваучер будет возвращен, он удаляется с запоминающего устройства и из памяти. Это не помешает работе потоков Netstream и AVStream, в которых в настоящий момент используются возвращенные ваучеры для воспроизведения видео, но будет препятствовать дальнейшему воспроизведению. DRMManager выдаст DRMReturnVoucherCompleteEvent при успешном выполнении или DRMReturnVoucherErrorEvent при ошибке. Возвращает ArgumentError, если inServerURL имеет значение NULL или если licenseID и policyID имеют значения NULL.
Параметры
inServerURL:String — URL-адреса сервера лицензий, с которых были загружены возвращенные лицензии.
| |
immediateCommit:Boolean — Зарезервировано. Единственным поддерживаемым значением является true.
| |
licenseID:String — (необязательно) Будут возвращены ваучеры, соответствующие этому licenseID. Если значение соответствует NULL, будет использоваться policyID.
| |
policyID:String — (необязательно) Будут возвращены ваучеры, соответствующие этому policyID. Если значение соответствует NULL, будет использоваться licenseID. Если licenseID и policyID не равны NULL, будет возвращен только ваучер, соответствующий значениям licenseID и policyID.
|
setAuthenticationToken | () | метод |
public function setAuthenticationToken(serverUrl:String, domain:String, token:ByteArray):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
Задает маркер аутентификации для использования при обмене данными с указанным сервером и доменом.
Маркеры аутентификации указаны в свойстве token
объекта DRMAuthenticationCompleteEvent, отправляемого при успешном вызове метода authenticate()
. Маркер сеанса записывается в кэш автоматически, но с помощью метода setAuthenticationToken()
можно напрямую управлять маркерами.
Если задать маркер таким образом, он перезапишет существующий в кэше маркер для сервера и домена. Для очистки кэшированного маркера задайте параметру token
значение null
.
Параметры
serverUrl:String — URL-адрес сервера управления правами доступа к содержимому
| |
domain:String — Объект DRMContentData
| |
token:ByteArray — Маркер аутентификации
|
storeVoucher | () | метод |
authenticationComplete | Событие |
flash.events.DRMAuthenticationCompleteEvent
свойство DRMAuthenticationCompleteEvent.type =
flash.events.DRMAuthenticationCompleteEvent.AUTHENTICATION_COMPLETE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
DRMManager отправляет объект DRMAuthenticationCompleteEvent, если пользователь прошел аутентификацию на сервере управления правами доступа к содержимому после вызова метода authenticate()
.
authenticationError | Событие |
flash.events.DRMAuthenticationErrorEvent
свойство DRMAuthenticationErrorEvent.type =
flash.events.DRMAuthenticationErrorEvent.AUTHENTICATION_ERROR
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
DRMManager отправляет объект DRMAuthenticationErrorEvent, если пользователь не прошел аутентификацию на сервере управления правами доступа к содержимому после вызова метода authenticate()
.
drmError | Событие |
flash.events.DRMErrorEvent
свойство DRMErrorEvent.type =
flash.events.DRMErrorEvent.DRM_ERROR
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
DRMManager отправляет объект DRMErrorEvent, если запрошенный ваучер невозможно получить с сервера управления правами доступа к содержимому.
Примечание. В случае неудачной попытки загрузить ваучер из локального кэша (с использованием localOnly
в качестве параметра source
) объект DRMErrorEvent не отправляется. Вместо этого отправляется объект DRMStatusEvent, свойство voucher
которого имеет значение null
.
DRMErrorEvent.DRM_ERROR
определяет значение свойства type
для объекта события drmError
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
errorID | Числовой код ошибки, присвоенный проблеме. |
subErrorID | Код ошибки, содержащий более подробную информацию о возникшей проблеме. |
target | Объект NetStream. |
drmStatus | Событие |
flash.events.DRMStatusEvent
свойство DRMStatusEvent.type =
flash.events.DRMStatusEvent.DRM_STATUS
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5, Flash Player 10.1 |
DRMManager отправляет объект DRMStatusEvent, если запрошенный ваучер получен с сервера управления правами доступа к содержимому.
КонстантаDRMStatusEvent.DRM_STATUS
определяет значение свойства type
объекта события drmStatus
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
detail | Строка, объясняющая контекст события состояния. |
isAnonymous | Указывает, доступно ли содержимое с DRM-шифрованием без запроса учетных данных пользователя для проверки подлинности. |
isAvailableOffline | Указывает, доступно ли содержимое с DRM-шифрованием в автономном режиме. |
offlineLeasePeriod | Оставшееся число дней, в течение которых содержимое можно просматривать в автономном режиме. |
policies | Пользовательский объект события состояния DRM. |
target | Объект NetStream. |
voucherEndDate | Абсолютная дата завершения срока действия ваучера, после которой содержимое становится недоступным для просмотра пользователями |
contentData | Объект DRMContentData для содержимого |
voucher | Объект DRMVoucher для содержимого. |
isLocal | Указывает на то, хранится ли содержимое в локальной файловой системе |
Tue Jun 12 2018, 11:34 AM Z