无法使用 WebChromeClient 播放 DRM 内容

Unable to play DRM content with WebChromeClient

我正在尝试在 Android Pie 中构建一个能够播放 DRM 内容的简单网络视图,例如使用 Bitmovin or Shaka Player。我从其他 Whosebug 帖子中收集了一些片段,但是虽然 Bitmovin/Shaka 显然可以检测到 widevine 支持并播放声音,但视频没有加载。

到目前为止,这是我的代码:

    WebView browser = findViewById(R.id.webview);

    browser.setWebChromeClient(new WebChromeClient(){
       @Override
       public void onPermissionRequest(PermissionRequest request) {
           String[] resources = request.getResources();
           for (int i = 0; i < resources.length; i++) {
               if (PermissionRequest.RESOURCE_PROTECTED_MEDIA_ID.equals(resources[i])) {
                   request.grant(resources);
                   return;
               }
           }
           super.onPermissionRequest(request);
    }});

    browser.getSettings().setJavaScriptEnabled(true);
    browser.getSettings().setDomStorageEnabled(true);

    browser.loadUrl("https://bitmovin.com/demos/drm");

知道可能遗漏了什么吗?

它失败了,因为设备只有 widevine L3,它适用于 L1