DRM Playback Issue - PullRequest
       28

DRM Playback Issue

0 голосов
/ 11 января 2019

Я пытался воспроизвести файл DRM, он не воспроизводит, показывает какую-то ошибку, можете ли вы предложить мне способ интеграции. Просто я хочу передать DRM Media URL и лицензию WideVine, показывающую продолжительность фильма, но контент не воспроизводится.

Используемая версия ExoPlayer 'Com.google.android.exoplayer: exoplayer: 2.7.3'

Примечание: нет конкретного устройства.

Интеграция с игроком

 DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
 TrackSelection.Factory videoTrackSelectionFactory =
  new AdaptiveTrackSelection.Factory(bandwidthMeter);
   trackSelector = new 
 DefaultTrackSelector(videoTrackSelectionFactory);

    int errorStringId = R.string.error_drm_unknown;
        DefaultDrmSessionManager<FrameworkMediaCrypto> drmSessionManager = null;
        try {
            String drmSchemeExtra = DRM_SCHEME;
            UUID drmSchemeUuid = Util.getDrmUuid(drmSchemeExtra);
            if (drmSchemeUuid == null) {
                errorStringId = R.string.error_drm_unsupported_scheme;
            } else {
                String[] keyRequestPropertiesArray = new String[]{};
                drmSessionManager =
                        buildDrmSessionManagerV18(
                                drmSchemeUuid, movie.getDrmLicence(), keyRequestPropertiesArray,false);
            }
        } catch (UnsupportedDrmException e) {
            errorStringId = e.reason == UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME
                    ? R.string.error_drm_unsupported_scheme : R.string.error_drm_unknown;
        }

        if (drmSessionManager == null) {
            showToast(activity.getString(errorStringId));
            //activity.finish();
            return;
        }

        boolean preferExtensionDecoders = false;
        @DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode =
                ((IdeaApplication) activity.getApplication()).useExtensionRenderers()
                        ? (preferExtensionDecoders ? DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER
                        : DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON)
                        : DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF;
        DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(context, drmSessionManager,extensionRendererMode);

        // Create a player instance.
        player =  ExoPlayerFactory.newSimpleInstance(context,trackSelector,new DefaultLoadControl(),drmSessionManager);

Тестирование DRM:

"uri": "https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd", "drm_scheme": "widevine", "drm_license_url": "https://proxy.uat.widevine.com/proxy?video_id=0894c7c8719b28a0&provider=widevine_test"

для журналов ошибок, пожалуйста, проверьте ниже проблему, которая имеет сообщение об ошибке

https://github.com/google/ExoPlayer/issues/5359

...