0

我正在尝试使用React Native DRM Fork播放任何 DRM 流。不幸的是,当我在 Android 中使用以下代码片段时,出现以下错误:-

代码片段: -

<Video
  source={{uri: 'https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd'}}
  drm={{
     type: 'widevine',
     licenseServer:
          'https://proxy.uat.widevine.com/proxy?video_id=efd045b1eb61888a&provider=widevine_test',
  }}
  style={styles.video}
/>

Android Logcat 中的错误:-

E/MediaPlayerNative: error (1, -2147483648)
E/MediaPlayer: Error (1,-2147483648)

我还尝试了以下代码,结果相同:-

<Video
  source={{ uri: 'https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd',
   drm: {
     type: 'widevine',
     licenseServer: 'https://proxy.uat.widevine.com/proxy?video_id=efd045b1eb61888a&provider=widevine_test', 
  }}
  style={styles.video}
/>

任何非 DRM 的视频都可以正常播放 :)

4

2 回答 2

0

调试 DRM 和视频可能很棘手,因为错误代码并不总是如您所见非常有用。如果访问该视频允许这样做,那么在其他播放器中尝试该视频通常也很有用 - 例如,如果观看视频不需要用户登录。

对于上面的manifest和上面的LA URL组合,当这样测试时,其他播放器也产生了错误。一些容易测试的包括:

您还可以在开发者控制台中查看错误报告,这些通常会提供更多信息。

对于您的情况,从上面的测试中可以看出,DRM 许可证响应表明存在一些限制——例如,这些限制可能与设备的安全级别有关。如果您有其他可以测试的内容,您也可以通过确认它在上述内容和您的代码上都有效来验证这一点。

于 2020-08-04T10:28:12.257 回答
0

这是由于exoplayer没有正确链接,在我的情况下,我必须手动链接 exoplayer,然后在react-native.config.js中添加以下 json

module.exports = {
  dependencies: {
    'react-native-video': {
      platforms: {
        android: null,
      },
    },
  },
};

于 2020-08-11T09:00:57.613 回答