提供給MediaKeySession.generateRequest()的孩子與通過MediaKeyMessageEvent提供的孩子之間的關係是什麼?會話請求與消息中的EME密鑰ID不同(ClearKey)
如果它們應該是相同的 - 爲什麼它們在下面的代碼中有所不同? 注,這會不會跑到這裏由於安全限制
navigator.requestMediaKeySystemAccess("org.w3.clearkey", [{
initDataTypes: ['webm'],
audioCapabilities: [{
contentType: 'audio/webm; codecs="opus"'
}],
videoCapabilities: [{
contentType: 'video/webm; codecs="vp8"'
},
{
contentType: 'video/webm; codecs="vp9"'
}
],
}]).then((keySystemAccess) => {
return keySystemAccess.createMediaKeys();
}).then((mediaKeys) => {
var session = mediaKeys.createSession("temporary");
var keyId = "VHM2iIMGiSg";
var initData = '{"kids":["' + keyId + '"]}';
console.log(keyId);
session.addEventListener('message', (evt) => {
var requestJson = new TextDecoder().decode(evt.message);
var request = JSON.parse(requestJson);
console.log(request.kids[0]);
});
this.session.generateRequest("webm", new TextEncoder().encode(initData));
});
輸出:
VHM2iIMGiSg
eyJraWRzIjpbIlZITTJpSU1HaVNnIl19
預期輸出爲第二行也有VHM2iIMGiSg