提供给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