开始使用
先决条件
Vega应用可以通过Vega SDK使用此程序包。 有关如何安装Vega SDK的说明,请参阅Vega SDK设置。设置
Vega图形Turbo模块由kepler-graphics npm程序包提供。将以下库依赖项添加到package.json文件的dependencies部分。
权限
显示API由get方法和set方法组成。通过DisplayManager类使用set方法的应用需要安全权限com.amazon.graphics.privilege.display.manager,该权限位于其manifest.toml文件的 [needs] 部分下,如下所示。
com.amazon.graphics.privilege.display.manager可进行以下一系列操作:
- 将当前屏幕分辨率和刷新率更改为支持的值之一。
- 更改其他显示器属性,如色深、颜色格式、HDR模式和ALLM。
用法
以下是支持的用例列表:- 侦听显示器热插拔事件。
- 查询支持的屏幕分辨率(宽x高)和显示器的刷新率。
- 查询支持的HDR类型/传输函数、最高HDCP级别、显示器的屏幕像素密度 (DPI)。
- 查询显示器的当前有效屏幕分辨率、刷新率、色深、颜色格式、HDR模式、低延迟模式 (ALLM)。
- 侦听显示器属性的更改事件。
导入所需的组件
要使用Vega图形API,请从@amazon-devices/kepler-graphics导入所需的组件。
在源代码文件中,应从kepler-graphics程序包导入接口和类型,如下所示:
检查显示器状态
要检查显示器是否已连接到设备,请使用以下方法。显示热插拔事件
在显示面板连接或断开连接时获取回调事件。IDisplayControllerListener.onAddDisplay() 和IDisplayControllerListener.onRemoveDisplay() 回调方法提供这些事件,如下所示。
获取当前屏幕分辨率和刷新率
Display.getCurrentConfig() 方法将当前有效的配置作为IDisplayConfig对象返回。IDisplayConfig对象的成员提供屏幕分辨率(宽x高)、屏幕像素密度、支持的刷新率等。
检查HDR支持
以下示例代码显示如何检查显示器和设备是否支持HDR。Display.getAllSupportedConfigs() 获得的其他显示器配置可能会列出其他HDR类型。只有当通过DisplayManager.requestConfigChange() 方法将当前有效的配置更改为该特定的显示配置时,您才能使用这些HDR类型。
查询其他显示器属性
侦听更改事件
以下代码示例显示应用可以使用IDisplayListener回调接口来侦听对以下项的更改:
- 显示屏属性(例如屏幕分辨率)
- 刷新率、色深/色彩空间
- HDCP级别
- HDR模式
- 低延迟模式
常见问题解答
问1:为什么IDisplayConfig.supportedHdrType数组中没有列出显示器支持的HDR类型?
在报告支持的类型时,该方法实现除了考虑显示器属性外,还会考虑设备功能。如果设备不支持特定HDR类型,例如“Dolby Vision”,则IDisplayConfig.supportedHdrType报告的列表不会包含该类型。
问2:如何取消订阅侦听器回调?
Display.addDisplayListener() 和DisplayController.addListener() 方法返回ISubscription对象。您可使用此对象来取消订阅侦听器,方法是调用unsubscribe() 方法。查看以下代码示例。
问3:为什么supportedHdrType会返回多个重复的值,比如
HdrType.NONE。
API参考
类
- Display—检索主显示屏属性的类。
- DisplayController—DisplayController特有的操作是通过此类完成的
- DisplayManager—DisplayManager提供用于更改显示屏配置/设置的API。
接口
- IDisplayConfig
- IDisplayControllerListener—DisplayController事件的侦听器接口。
- IDisplayListener—不同显示屏事件的侦听器接口
- IDisplayManagerListener—DisplayManager事件的侦听器接口。
- IOverscanBorder—处理过扫描边框数据的接口。
- ISubscription—用于取消订阅侦听器的接口。
枚举
- AisrState—定义显示屏AI超分辨率状态的值。
- BufferPixelFormat—缓冲区像素格式指定用于存储的内存布局和位数
- ColorDepth—定义显示屏所有可能的色深。
- ColorGamut—定义色域类型列表。
- ColorSpace—定义显示屏不同的颜色空间类型。
- HdcpLevel—定义显示屏可支持的所有可能的HDCP级别。
- HdrMode—定义显示屏高动态模式的值。
- HdrType—定义支持的底层HDR技术列表
- LlmState—定义显示器可支持的所有可能的低延迟模式 (LLM) 状态。
- TransferFunction—定义显示屏转换函数列表

