在Exoplayer 2 android中使用ClearKey DRM架构时出现播放错误 [英] Playback error on using ClearKey DRM Schema in Exoplayer 2 android

查看:176
本文介绍了在Exoplayer 2 android中使用ClearKey DRM架构时出现播放错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试播放 .MPD 文件,该文件正在使用

I am trying to play the .MPD file, which is using

DRMSchema :clearKey

DRMSchema : clearKey

为了播放它,我正在以以下方式创建 DefaultDrmSessionManager

For playing it i am creating a DefaultDrmSessionManager in the following way

 String keyString = "{\"keys\":[{\"kty\":\"oct\",\"k\":\"y1QQhMmXMa70__dFAMEurQ\n" +
                "    \",\"kid\":\"bXbyXLF_Xha46u9rv1gtjg\n" +
                "    \"},{\"kty\":\"oct\",\"k\":\"pGMaFTpEPfnu0FkwQ9t1GQ\n" +
                "    \",\"kid\":\"88XgNh5mVLKPgEnHeLI5Rg\n" +
                "    \"}],'type':\"temporary\"}";

LogMgr.i("DRMCallback JSON : " + keyString);

drmCallback = new LocalMediaDrmCallback(keyString.getBytes());

mediaDrm = FrameworkMediaDrm.newInstance(uuid);

DefaultDrmSessionManager<FrameworkMediaCrypto> drmSessionManager = new DefaultDrmSessionManager<>(uuid, mediaDrm, drmCallback, null, multiSession);

此后,当我尝试使用此 DefaultDrmSessionManager 播放视频时,出现 ExoPlayerImplInternal:播放错误,我附上了日志以供参考./p>

After that, when i am trying to use this DefaultDrmSessionManager for playing the video, i am getting ExoPlayerImplInternal: Playback error, i am attaching the Log for reference.

E/ExoPlayerImplInternal: **Playback error**.
com.google.android.exoplayer2.ExoPlaybackException
    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:780)
    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:583)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:164)
    at android.os.HandlerThread.run(HandlerThread.java:65)
 Caused by: android.media.MediaCodec$CryptoException: **Crypto key not available**
    at android.media.MediaCodec.native_queueSecureInputBuffer(Native Method)
    at android.media.MediaCodec.queueSecureInputBuffer(MediaCodec.java:2547)
    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:771)

请指导我,我做错了

推荐答案

从keyString中删除\ n后,它工作正常.:)

It is working fine after removing \n from the keyString.. :)

这篇关于在Exoplayer 2 android中使用ClearKey DRM架构时出现播放错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆