Java 类android.media.UnsupportedSchemeException 实例源码

项目:ExoPlayer-Offline    文件:DashTest.java   
@TargetApi(18)
@SuppressWarnings("ResourceType")
private static boolean isL1WidevineAvailable(String videoMimeType) {
  try {
    // Force L3 if secure decoder is not available.
    if (MediaCodecUtil.getDecoderInfo(videoMimeType, true) == null) {
      return false;
    }

    MediaDrm mediaDrm = new MediaDrm(WIDEVINE_UUID);
    String securityProperty = mediaDrm.getPropertyString(SECURITY_LEVEL_PROPERTY);
    mediaDrm.release();
    return WIDEVINE_SECURITY_LEVEL_1.equals(securityProperty);
  } catch (DecoderQueryException | UnsupportedSchemeException e) {
    throw new IllegalStateException(e);
  }
}
项目:player-sdk-native-android    文件:OfflineDrmSessionManager.java   
OfflineDrmSessionManager(OfflineKeySetStorage storage) throws UnsupportedDrmException {

        mStorage = storage;

        try {
            mMediaDrm = new MediaDrm(WIDEVINE_UUID);
            OfflineDrmManager.printAllProperties(mMediaDrm);

            mMediaDrm.setOnEventListener(new MediaDrm.OnEventListener() {
                @Override
                public void onEvent(@NonNull MediaDrm md, byte[] sessionId, int event, int extra, byte[] data) {
                    Log.d(TAG, "onEvent:" + toHexString(sessionId) + ":" + event + ":" + extra + ":" + toHexString(data));
                }
            });


            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                setOnKeyStatusChangeListener();
            }


        } catch (UnsupportedSchemeException e) {
            throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME, e);
        }
    }
项目:android-exoplayer    文件:DashRendererBuilder.java   
public static Pair<DrmSessionManager, Boolean> getDrmSessionManagerData(DemoPlayer player,
    MediaDrmCallback drmCallback) throws UnsupportedSchemeException {
  StreamingDrmSessionManager streamingDrmSessionManager = new StreamingDrmSessionManager(
      DemoUtil.WIDEVINE_UUID, player.getPlaybackLooper(), drmCallback, null,
      player.getMainHandler(), player);
  return Pair.create((DrmSessionManager) streamingDrmSessionManager,
      getWidevineSecurityLevel(streamingDrmSessionManager) == SECURITY_LEVEL_1);
}
项目:android-exoplayer    文件:StreamingDrmSessionManager.java   
/**
 * @param uuid The UUID of the drm scheme.
 * @param playbackLooper The looper associated with the media playback thread. Should usually be
 *     obtained using {@link com.google.android.exoplayer.ExoPlayer#getPlaybackLooper()}.
 * @param callback Performs key and provisioning requests.
 * @param optionalKeyRequestParameters An optional map of parameters to pass as the last argument
 *     to {@link MediaDrm#getKeyRequest(byte[], byte[], String, int, HashMap)}. May be null.
 * @param eventHandler A handler to use when delivering events to {@code eventListener}. May be
 *     null if delivery of events is not required.
 * @param eventListener A listener of events. May be null if delivery of events is not required.
 * @throws UnsupportedSchemeException If the specified DRM scheme is not supported.
 */
public StreamingDrmSessionManager(UUID uuid, Looper playbackLooper, MediaDrmCallback callback,
    HashMap<String, String> optionalKeyRequestParameters, Handler eventHandler,
    EventListener eventListener) throws UnsupportedSchemeException {
  this.uuid = uuid;
  this.callback = callback;
  this.optionalKeyRequestParameters = optionalKeyRequestParameters;
  this.eventHandler = eventHandler;
  this.eventListener = eventListener;
  mediaDrm = new MediaDrm(uuid);
  mediaDrm.setOnEventListener(new MediaDrmEventListener());
  mediaDrmHandler = new MediaDrmHandler(playbackLooper);
  postResponseHandler = new PostResponseHandler(playbackLooper);
  state = STATE_CLOSED;
}
项目:transistor    文件:DashTestRunner.java   
public static MediaDrm build () {
  try {
    return new MediaDrm(WIDEVINE_UUID);
  } catch (UnsupportedSchemeException e) {
    throw new IllegalStateException(e);
  }
}
项目:transistor    文件:FrameworkMediaDrm.java   
private FrameworkMediaDrm(UUID uuid) throws UnsupportedSchemeException {
  Assertions.checkNotNull(uuid);
  Assertions.checkArgument(!C.COMMON_PSSH_UUID.equals(uuid), "Use C.CLEARKEY_UUID instead");
  // ClearKey had to be accessed using the Common PSSH UUID prior to API level 27.
  uuid = Util.SDK_INT < 27 && C.CLEARKEY_UUID.equals(uuid) ? C.COMMON_PSSH_UUID : uuid;
  this.uuid = uuid;
  this.mediaDrm = new MediaDrm(uuid);
}
项目:Exoplayer_VLC    文件:StreamingDrmSessionManager.java   
/**
 * @param uuid The UUID of the drm scheme.
 * @param playbackLooper The looper associated with the media playback thread. Should usually be
 *     obtained using {@link com.google.android.exoplayer.ExoPlayer#getPlaybackLooper()}.
 * @param callback Performs key and provisioning requests.
 * @param optionalKeyRequestParameters An optional map of parameters to pass as the last argument
 *     to {@link MediaDrm#getKeyRequest(byte[], byte[], String, int, HashMap)}. May be null.
 * @param eventHandler A handler to use when delivering events to {@code eventListener}. May be
 *     null if delivery of events is not required.
 * @param eventListener A listener of events. May be null if delivery of events is not required.
 * @throws UnsupportedSchemeException If the specified DRM scheme is not supported.
 */
public StreamingDrmSessionManager(UUID uuid, Looper playbackLooper, MediaDrmCallback callback,
    HashMap<String, String> optionalKeyRequestParameters, Handler eventHandler,
    EventListener eventListener) throws UnsupportedSchemeException {
  this.uuid = uuid;
  this.callback = callback;
  this.optionalKeyRequestParameters = optionalKeyRequestParameters;
  this.eventHandler = eventHandler;
  this.eventListener = eventListener;
  mediaDrm = new MediaDrm(uuid);
  mediaDrm.setOnEventListener(new MediaDrmEventListener());
  mediaDrmHandler = new MediaDrmHandler(playbackLooper);
  postResponseHandler = new PostResponseHandler(playbackLooper);
  state = STATE_CLOSED;
}
项目:edx-app-android    文件:StreamingDrmSessionManager.java   
/**
 * @param uuid The UUID of the drm scheme.
 * @param playbackLooper The looper associated with the media playback thread. Should usually be
 *     obtained using {@link com.google.android.exoplayer.ExoPlayer#getPlaybackLooper()}.
 * @param callback Performs key and provisioning requests.
 * @param eventHandler A handler to use when delivering events to {@code eventListener}. May be
 *     null if delivery of events is not required.
 * @param eventListener A listener of events. May be null if delivery of events is not required.
 * @throws UnsupportedSchemeException If the specified DRM scheme is not supported.
 */
public StreamingDrmSessionManager(UUID uuid, Looper playbackLooper, MediaDrmCallback callback,
    Handler eventHandler, EventListener eventListener) throws UnsupportedSchemeException {
  this.uuid = uuid;
  this.callback = callback;
  this.eventHandler = eventHandler;
  this.eventListener = eventListener;
  mediaDrm = new MediaDrm(uuid);
  mediaDrm.setOnEventListener(new MediaDrmEventListener());
  mediaDrmHandler = new MediaDrmHandler(playbackLooper);
  postResponseHandler = new PostResponseHandler(playbackLooper);
  state = STATE_CLOSED;
}
项目:PlusGram    文件:FrameworkMediaDrm.java   
public FrameworkMediaDrm(UUID uuid) throws UnsupportedSchemeException {
  this.mediaDrm = new MediaDrm(Assertions.checkNotNull(uuid));
}
项目:Exoplayer2Radio    文件:FrameworkMediaDrm.java   
private FrameworkMediaDrm(UUID uuid) throws UnsupportedSchemeException {
  this.mediaDrm = new MediaDrm(Assertions.checkNotNull(uuid));
}
项目:K-Sonic    文件:FrameworkMediaDrm.java   
private FrameworkMediaDrm(UUID uuid) throws UnsupportedSchemeException {
  this.mediaDrm = new MediaDrm(Assertions.checkNotNull(uuid));
}
项目:videoPickPlayer    文件:FrameworkMediaDrm.java   
private FrameworkMediaDrm(UUID uuid) throws UnsupportedSchemeException {
  this.mediaDrm = new MediaDrm(Assertions.checkNotNull(uuid));
}
项目:android-exoplayer    文件:SmoothStreamingRendererBuilder.java   
public static DrmSessionManager getDrmSessionManager(UUID uuid, DemoPlayer player,
    MediaDrmCallback drmCallback) throws UnsupportedSchemeException {
  return new StreamingDrmSessionManager(uuid, player.getPlaybackLooper(), drmCallback, null,
      player.getMainHandler(), player);
}
项目:android-exoplayer    文件:StreamingDrmSessionManager.java   
/**
 * @deprecated Use the other constructor, passing null as {@code optionalKeyRequestParameters}.
 */
@Deprecated
public StreamingDrmSessionManager(UUID uuid, Looper playbackLooper, MediaDrmCallback callback,
    Handler eventHandler, EventListener eventListener) throws UnsupportedSchemeException {
  this(uuid, playbackLooper, callback, null, eventHandler, eventListener);
}
项目:Exoplayer_VLC    文件:StreamingDrmSessionManager.java   
/**
 * @deprecated Use the other constructor, passing null as {@code optionalKeyRequestParameters}.
 */
@Deprecated
public StreamingDrmSessionManager(UUID uuid, Looper playbackLooper, MediaDrmCallback callback,
    Handler eventHandler, EventListener eventListener) throws UnsupportedSchemeException {
  this(uuid, playbackLooper, callback, null, eventHandler, eventListener);
}
项目:Telegram    文件:FrameworkMediaDrm.java   
private FrameworkMediaDrm(UUID uuid) throws UnsupportedSchemeException {
  this.mediaDrm = new MediaDrm(Assertions.checkNotNull(uuid));
}