我们正在编写一个网络播放器,我们需要确定浏览器支持的DRM系统。我们使用以下代码检查浏览器上的DRM类型。
keySystems: {
clearkey: ['webkit-org.w3.clearkey', 'org.w3.clearkey'],
widevine: ['com.widevine.alpha'],
playready: ['com.microsoft.playready', 'com.youtube.playready'],
fairplay: ['com.apple.fairplay']
},
铬:
navigator.requestMediaKeySystemAccess()
IE:
videoElement.isTypeSupported()
我们考虑在Safari中使用webkitGenerateKeyRequest()。但是在Safari上的Javascript控制台上,我试着看看API是否可用。
let vel = document.getElementById('videoID');
但是vel没有在Javascript控制台上列出webkitGenerateKeyRequest()。可以使用我可以根据答案Determine DRM system supported by browser使用canPlayType()。
问题是它会对所有内容说“可能”,而不是确切地确定浏览器是否支持特定的DRM。是否有任何API可以找到浏览器支持的DRM?
答案 0 :(得分:0)
除非您使用的是非标准浏览器,否则映射通常在此时非常简单,除了浏览器类型外,您不需要检查其他任何东西:
移动设备曾经是一种特殊情况,因为iOS上的Safari不支持FairPlay,但现在支持。
除此之外,标准方法是按照您的建议使用requestMediaKeySystemAccess-最新支持图片通常是最新的: