- 来自W3C标准的
decodeInfo(),推荐用于使用Shaka播放器或其他网页型播放器的应用 - Vega Graphics API,推荐用于不使用W3C API的自定义播放器
先决条件
- Vega开发环境已设置
- 在Vega OS上运行的React Native应用
- 用于测试的Fire TV Stick 4K Select
- 已安装的
@amazon-devices/react-native-w3cmedia程序包(用于decodeInfo()方法)
定义decodeInfo() polyfill
如果您使用带有亚马逊补丁的Shaka播放器,请跳过此步骤。polyfill已经包括在内。
对于其他玩家,请为decodeInfo() 定义polyfill。参考媒体功能文档中的polyfill代码。
在Vega体育示例应用中,构建脚本在<应用根目录>/w3media/polyfills/文件夹下放置了一个名为W3CMediaPolyfill.ts的文件。该文件包含decodeInfo() 的实现。
安装polyfill
在您的应用中定义polyfill后,安装它,以便该应用可以访问媒体功能。在Vega体育示例应用中,polyfill是在应用初始化期间安装的。使用decodeInfo() 支持查询解析
如果您使用Shaka播放器或其他直接调用decodingInfo() 的W3C型播放器,请跳过此步骤。
对于自定义播放器代码,请使用decodeInfo() 来检查连接的显示器支持哪些分辨率。以下示例演示了对高级视频编码 (AVC) 流的高清和超高清 (UHD) 解码支持。
decodingInfoImpl() 将configuration_4k返回为不受支持,而将较低分辨率的配置返回为受支持的状态。
使用Vega图形API作为替代方案
Vega图形API提供了一种检索有关Fire TV设备及其所连显示器信息的方法,包括高度、宽度和高动态范围 (HDR) 等功能。这种方法最适合不使用W3C API的自定义播放器。 返回的高度值反映了设备和显示器组合的正确分辨率:- 连接到Fire TV Stick 4K的高清电视选择返回1080
- 连接到Fire TV Stick 4K Select的4K电视返回2160
测试实现
在Fire TV设备上构建和运行您的应用:- 将Fire TV Stick 4K Select连接到高清 (1080p) 电视。
- 运行您的应用并验证它仅请求高清流媒体。
- 将Fire TV Stick 4K Select连接到4K电视。
- 运行您的应用并验证它请求4K流媒体。

