0

I'm trying to make a media player application with exoplayer2 android. I'm having trouble configuring when the media is clearkey licensed

I've tried with syntax like this, but the video fails to play

String keyString = "{"keys":[{"kty":"oct","kid":"x1-gd_kiXYMZpPECWc_w14","k":"vw5XYgDnI70Cv2DZtdARQq"},{"kty":"oct","kid":"U_izmERjXBystrRo1Gpigf","k":"_iDeFrAjiMzaA-pyGfQOr0"},{"kty":"oct","kid":"y6VR2QDaO_SuywlnYt-mQ5","k":"pq3xHGXKiqol9aoWj6glDA"}]}";

DefaultDrmSessionManager drmSessionManager = new DefaultDrmSessionManager.Builder()
     .setMultiSession(false)
     .setUuidAndExoMediaDrmProvider(C.CLEARKEY_UUID, FrameworkMediaDrm.DEFAULT_PROVIDER)
     .build(new LocalMediaDrmCallback(keyString.getBytes()));

DefaultMediaSourceFactory mediaSourceFactory = new DefaultMediaSourceFactory(this)
     .setDataSourceFactory(new DefaultHttpDataSource.Factory());

mediaSourceFactory.createMediaSource(MediaItem.fromUri(Uri.parse(videoUri)));
mediaSourceFactory.setDrmSessionManagerProvider(mediaItem -> drmSessionManager);

player = new ExoPlayer.Builder(this, new DefaultRenderersFactory(this).forceEnableMediaCodecAsynchronousQueueing())
     .setTrackSelector(new DefaultTrackSelector(this))
     .setMediaSourceFactory(mediaSourceFactory)
     .build();

player.setMediaItem(new MediaItem.Builder()
     .setUri(Uri.parse(videoUri))
     .build());

playerView.setPlayer(player);
player.prepare();
player.play();

Thank you for your answer

0 Answers0