public final class MediaCrypto
extends Object
java.lang.Object | |
↳ | android.media.MediaCrypto |
MediaCrypto类可以与MediaCodec
一起使用来解码加密的媒体数据。 加密方案被分配16个字节的UUID,方法isCryptoSchemeSupported(UUID)
可用于查询设备是否支持给定的方案。
Public constructors |
|
---|---|
MediaCrypto(UUID uuid, byte[] initData) 使用不透明的加密方案特定数据实例化MediaCrypto对象。 |
Public methods |
|
---|---|
static final boolean |
isCryptoSchemeSupported(UUID uuid) 查询此设备是否支持由其UUID标识的给定方案。 |
final void |
release() |
final boolean |
requiresSecureDecoderComponent(String mime) 查询加密方案是否需要使用安全解码器来解码给定MIME类型的数据。 |
final void |
setMediaDrmSession(byte[] sessionId) 将MediaDrm会话与此MediaCrypto实例相关联。 |
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
MediaCrypto (UUID uuid, byte[] initData)
使用不透明的加密方案特定数据实例化MediaCrypto对象。
Parameters | |
---|---|
uuid |
UUID : The UUID of the crypto scheme. |
initData |
byte : Opaque initialization data specific to the crypto scheme. |
Throws | |
---|---|
MediaCryptoException |
boolean isCryptoSchemeSupported (UUID uuid)
查询此设备是否支持由其UUID标识的给定方案。
Parameters | |
---|---|
uuid |
UUID : The UUID of the crypto scheme. |
Returns | |
---|---|
boolean |
boolean requiresSecureDecoderComponent (String mime)
查询加密方案是否需要使用安全解码器来解码给定MIME类型的数据。
Parameters | |
---|---|
mime |
String : The mime type of the media data |
Returns | |
---|---|
boolean |
void setMediaDrmSession (byte[] sessionId)
将MediaDrm会话与此MediaCrypto实例相关联。 MediaDrm会话用于安全加载加密方案的解密密钥。 通过在key
字段中指定其密钥ID,可以选择通过MediaDrm会话加载的加密密钥在由queueSecureInputBuffer(int, int, MediaCodec.CryptoInfo, long, int)
执行的解密操作期间使用。
Parameters | |
---|---|
sessionId |
byte : the MediaDrm sessionId to associate with this MediaCrypto instance |
Throws | |
---|---|
MediaCryptoException |
on failure to set the sessionId |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 一个子类覆盖了finalize
方法来处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 方法finalize
可以采取任何行动,包括使这个对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类finalize
方法Object
执行特殊的操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在为对象调用 finalize
方法之后,在Java虚拟机再次确定不再有任何方法可以通过尚未死亡的任何线程访问此对象,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机从不会多次调用 finalize
方法。
finalize
方法抛出的任何异常 finalize
导致终止此对象的终止,但会被忽略。