如何在 dash.js v2 中设置 protectionController/ProtectionData

How to setup protectionController/ProtectionData in dash.js v2

我想使用 dash.js 播放受保护的视频。我使用的是 dash v2.0,它与 v1 完全不同。以下在 v1 中有效的代码在 v2 中不再有效。

$(function() {
    var AXINOM_DEMO_WV_LS = "http://axpr-wv-fe.cloudapp.net:8080/LicensingService";

    var context = new Dash.di.DashContext();
    var player = new MediaPlayer(context);
    player.startup();
    player.attachView(document.querySelector('#videoPlayer'));
    player.attachProtectionData({"com.widevine.alpha": new MediaPlayer.vo.protection.ProtectionData(AXINOM_DEMO_WV_LS)});

    $('#playButton').click(function() {
        var videoUrl = 'http://level3-cdn.axprod.net/demo/manifestprot.ism/.mpd';
        player.attachSource(videoUrl);
    });
});

我已经尝试在 v2 中重写它

$(function() {
    var AXINOM_DEMO_WV_LS = "http://axpr-wv-fe.cloudapp.net:8080/LicensingService";
    var player = dashjs.MediaPlayer().create();
    player.initialize(document.querySelector("#videoPlayer"),"", true);
    player.attachProtectionData({"com.widevine.alpha": new ProtectionData(AXINOM_DEMO_WV_LS)});
    $('#playButton').click(function() {
        var videoUrl = 'http://level3-cdn.axprod.net/demo/manifestprot.ism/.mpd';
        player.attachSource(videoUrl);
    });
});

但它不起作用。正在抛出错误。

Uncaught ReferenceError: ProtectionData is not defined
    at HTMLDocument.<anonymous> (main.js:5)

我不知道如何正确定义此保护数据,因为没有关于如何定义的教程。请协助。

我终于能够解决问题了。在 dash.js 版本 2 中,这是设置保护数据的方式。

var AXINOM_DEMO_WV_LS = "http://axpr-wv-fe.cloudapp.net:8080/LicensingService";
var drmKeySystem ="com.widevine.alpha";
var protData ={drmKeySystem:{serverURL: AXINOM_DEMO_WV_LS}};

 var player = dashjs.MediaPlayer().create();
 player.initialize(document.querySelector("#videoPlayer"),"", true);
 player.setProtectionData(protData);