2017-06-24 88 views
0

我想用dash.js播放受保護的視頻。我使用的是破折號v2.0,與v1完全不同。在v1中工作的下面的代碼不再適用於v2。如何在dash.js v2中設置protectionController/ProtectionData

$(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) 

我不知道如何正確定義這個保護數據,因爲沒有關於如何去做的教程。善意協助。

回答

1

我終於能夠解決這個問題。在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); 
相關問題