The documentation for the Android DRM package says: "Common applications of the DRM API include ... Determining which DRM plugins (agents) are installed on the device."
The only method I can find in the DRM package for this is DrmManagerClient.getAvailableDrmEngines () . This method works in the sense that it returns a string array containing the names of DRM agents. This is what is indicated above in determining which plugins are installed, refers to?
However, this list, at least in some cases, completely contradicts the results of the newer method MediaDrm.isCryptoSchemeSupported () , which is in the package android.Media.
Examples:
HTC Desire 550 is running Android 7:
getAvailableDrmEngines():- DRW plugin for Playready
- DriveActivator Plugin
- MirrorLink Plugin
- OMA HTC
isCryptoSchemeSupported():- Common PSSH / CENC
- Widevine
Samsung SM-G870A is running Android 5.1.1:
getAvailableDrmEngines():- Widescreen DRM Plugin
- Direct Lock OMA V1
- (empty plugin name)
- Firmware plugin
- TZ Playready plugin
isCryptoSchemeSupported():- Common PSSH / CENC
- Widevine
One developer who has a very popular DRM tool in the Google Play store kindly told me that he would consider an approach DrmManagerClientthat is obsolete / not commonly used.
MediaDrm.isCryptoSchemeSupported(), , , API 18 . MediaDrm //; , . UUID DASHIF . , , .
:
() DRM, ?
, , :
- ,
DrmManagerClient.getAvailableDrmEngines() - ? DrmManagerClient.getAvailableDrmEngines(), , ? Android?- , " " ( ) DRM-/? , DRM , , , . ( MediaDrm , " DRM" "" : " DRM- UUID, , UUID MediaDrm, DRM, . 16- UUID. isCryptoSchemeSupported (UUID) , ." ) , , HTC WideVine WideVine DRM?
DrmManagerClient.getAvailableDrmEngines() , , UUID, ?
LarsH source
share