decodingInfo() 方法来检测设备的媒体功能。在这种情况下,应用程序可以安装polyfill来获取decodingInfo() 方法的Vega实现,并让播放器做出相应决定。有关如何安装polyfill的更多信息,请参阅安装和设置W3C媒体功能部分。
W3C媒体功能先决条件
W3C API在Vega SDK中实现了媒体功能。应用必须将此API作为依赖项添加到其package.json中才能获得所需的导入。安装和设置W3C媒体功能
- 设置媒体播放器项目。
- 按照如何使用W3C媒体功能部分中所示安装polyfill。
如何使用W3C媒体功能
使用Shaka播放器的应用
Shaka播放器在发布版中内置提供了polyfill。有关适用于Vega的Shaka播放器版本的更多信息,请参阅使用Shaka播放器播放自适应内容 (HLS/DASH)。 这个polyfill通过导航器提供了decodingInfo() 方法。Shaka播放器在提供实现时在内部使用此decodingInfo() 方法。要在不额外更改任何代码的情况下应用新实现,请更新Shaka播放器dist文件夹。
使用在内部使用decodingInfo() 的JavaScript播放器的应用。
使用其他需要实现decodingInfo() 的播放器的应用必须手动安装polyfill。
decodingInfo() 方法有一些注意事项。有关更多信息,请参阅常见问题解答部分。
使用不依赖于decodingInfo() 的JavaScript播放器的应用。
Theo和Bitmovin之类的播放器使用canPlayType或isTypeSupported而不是decodingInfo()。如果应用满足相同方法的要求,它们可以继续使用这些方法,也可以在播放器外部调用MediaCapabilities API并使用相应信息开始播放。
常见问题解答
如何检查Dolby支持?
如何检查Dolby支持?
decodingInfo() 和isTypeSupported() 方法的Vega实现还考虑了连接的电视或AVR的功能,并相应地返回结果。以下代码示例示出了为了使用decodingInfo() 方法检查Dolby支持而可以发送的最低配置。检查HDR支持的最低配置是什么?
检查HDR支持的最低配置是什么?
与Dolby支持类似,可以使用Vega实现来检查连接的电视或显示器是否支持HDR。
如何在Dash.js上启用decodingInfo()?
如何在Dash.js上启用decodingInfo()?
若要在Dash.js播放器中使用
decodingInfo() 的Vega实现,应用必须安装polyfill。Dash.js播放器的4.0.0版本引入了对MediaCapabilities API的支持。注意: 要使用decodingInfo() 方法而不是isTypeSupported() 方法,请将useMediaCapabilitiesApi值设置为true。如何在HLS.js播放器上启用?
如何在HLS.js播放器上启用?
若要在HLS.js播放器中使用
decodingInfo() 的Vega实现,应用必须安装polyfill。HLS.js播放器的1.5.0-alpha版本引入了对MediaCapabilities API的支持。确保在HlsConfig中启用useMediaCapabilities。注意: HLS.js播放器仅特定场景中使用decodingInfo() 方法,具体信息请参阅GitHub上HLS.js存储库中mediacapabilities-helper.ts源文件。
