2015-09-30 3 views
3

Я пытаюсь реализовать Android-приложение для воспроизведения широкоформатного видео. Я создаю свое приложение на Exoplayer, и у меня проблема с MediaDrm.Exoplayer - Widevine и MPEG DASH

android.media.MediaDrm$MediaDrmStateException: Failed to get key request: DRM vendor-defined error: -2998 
      at android.media.MediaDrm.getKeyRequest(Native Method) 
      at com.google.android.exoplayer.drm.StreamingDrmSessionManager.postKeyRequest(StreamingDrmSessionManager.java:370) 
      at com.google.android.exoplayer.drm.StreamingDrmSessionManager.openInternal(StreamingDrmSessionManager.java:314) 
      at com.google.android.exoplayer.drm.StreamingDrmSessionManager.open(StreamingDrmSessionManager.java:284) 
      at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:325) 
      at com.google.android.exoplayer.MediaCodecTrackRenderer.onInputFormatChanged(MediaCodecTrackRenderer.java:739) 
      at com.google.android.exoplayer.MediaCodecTrackRenderer.readFormat(MediaCodecTrackRenderer.java:511) 
      at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:492) 
      at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:417) 
      at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205) 

У меня есть это исключение. Я обнаружил, что это исключение, в этой строке кода:

keyRequest = mediaDrm.getKeyRequest(sessionId, schemeData, mimeType, MediaDrm.KEY_TYPE_STREAMING, params); 

Все параметры метода установлены правильно, но призванием этого метода не удается, и брошено исключение выше.

Вы знаете, как я могу его решить? Спасибо за любую помощь.

ответ

1

Я, наконец, решил. Проблема была в устройстве, которое я использовал для тестирования. Это устройство Samsung Galaxy S4 с Android 5.0.1. Когда я попробовал свой код на другом устройстве (Nexus 5, какой-то планшет Samsung и т. Д.), Он работал нормально. Вероятно, есть некоторые ошибки или отсутствие поддержки Widevine Modular в Galaxy S4.