类android.media.MediaDrm.KeyRequest源码实例Demo

下面列出了怎么用android.media.MediaDrm.KeyRequest的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public void handleMessage(Message msg) {
  Object response;
  try {
    switch (msg.what) {
      case MSG_PROVISION:
        response = callback.executeProvisionRequest(uuid, (ProvisionRequest) msg.obj);
        break;
      case MSG_KEYS:
        response = callback.executeKeyRequest(uuid, (KeyRequest) msg.obj);
        break;
      default:
        throw new RuntimeException();
    }
  } catch (Exception e) {
    response = e;
  }
  postResponseHandler.obtainMessage(msg.what, response).sendToTarget();
}
 
@Override
public byte[] executeKeyRequest(UUID uuid, KeyRequest request) throws Exception {
  String url = request.getDefaultUrl();
  if (TextUtils.isEmpty(url)) {
    url = PLAYREADY_TEST_DEFAULT_URI;
  }
  return DemoUtil.executePost(url, request.getData(), KEY_REQUEST_PROPERTIES);
}
 
@Override
public byte[] executeKeyRequest(UUID uuid, KeyRequest request) throws IOException {
  String url = request.getDefaultUrl();
  if (TextUtils.isEmpty(url)) {
    url = defaultUri;
  }
  return DemoUtil.executePost(url, request.getData(), null);
}
 
private void postKeyRequest() {
  KeyRequest keyRequest;
  try {
    keyRequest = mediaDrm.getKeyRequest(sessionId, schemePsshData, mimeType,
        MediaDrm.KEY_TYPE_STREAMING, optionalKeyRequestParameters);
    postRequestHandler.obtainMessage(MSG_KEYS, keyRequest).sendToTarget();
  } catch (NotProvisionedException e) {
    onKeysError(e);
  }
}
 
源代码5 项目: Mobilyzer   文件: WidevineTestMediaDrmCallback.java
@Override
public byte[] executeKeyRequest(UUID uuid, KeyRequest request) throws IOException {
  String url = request.getDefaultUrl();
  if (TextUtils.isEmpty(url)) {
    url = defaultUri;
  }
  return DemoUtil.executePost(url, request.getData(), null);
}
 
@Override
public byte[] executeKeyRequest(UUID uuid, KeyRequest request) throws IOException {
  String url = request.getDefaultUrl();
  if (TextUtils.isEmpty(url)) {
    url = defaultUri;
  }
  return ExoplayerUtil.executePost(url, request.getData(), null);
}
 
 类所在包
 同包方法