• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.multimedia.avVolumePanel (音量面板)
2
3本模块提供创建音量面板AVVolumePanel的功能,提供展示和调节系统音量的统一面板。
4
5应用无法直接调节系统音量,可以通过系统音量面板,让用户通过界面操作来调节音量。当用户通过应用内音量面板调节音量时,系统会展示音量提示界面,显性地提示用户系统音量发生改变。
6
7
8> **说明:**
9>
10> - 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
11> - 示例效果请以真机为准,当前DevEco Studio预览器无真实音量展示和调节功能。
12> <!--RP1--><!--RP1End-->
13
14## 导入模块
15
16```js
17import { AVVolumePanel } from '@kit.AudioKit';
18```
19
20## 属性
21
22支持[通用属性](../apis-arkui/arkui-ts/ts-component-general-attributes.md)。
23
24## AVVolumePanel
25
26AVVolumePanel({volumeLevel?: number, volumeParameter?: AVVolumePanelParameter})
27
28音量面板,可用于在当前应用内展示音量调节面板。
29
30**装饰器类型:** [@Component](../../quick-start/arkts-create-custom-components.md)
31
32**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
33
34**系统能力:** SystemCapability.Multimedia.Audio.Volume
35
36| 名称 | 类型 | 必填 | 装饰器类型 | 说明                                                                                                                                                                                                    |
37| -------- | -------- | -------- | -------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
38|volumeLevel | number | 否 | \@Prop | 通过音量面板设置设备音量。该值应介于当前设备音量的最小值和最大值之间。如果该值大于当前设备音量的最大值,则视为设置设备最大音量值;如果该值小于当前设备音量的最小值,则视为设置设备最小音量值。获取音量的最大值与最小值可参考[AudioVolumeGroupManager](../apis-audio-kit/js-apis-audio.md#audiovolumegroupmanager9)。 |
39|volumeParameter | [AVVolumePanelParameter](#avvolumepanelparameter)  | 否 |  \@Prop | 设置音量面板的自定义参数。 如果不传入该参数,则调用系统音量条。                                                                                                                                                                      |
40
41## AVVolumePanelParameter
42
43音量面板参数设置。
44
45**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
46
47**系统能力:** SystemCapability.Multimedia.Audio.Volume
48
49| 名称 | 类型 | 必填 | 说明
50| -------- | -------- | -------- | -------- |
51|position | [Position](../apis-arkui/arkui-ts/ts-types.md#position) | 否 | 设置音量面板的位置。 |
52
53## 事件
54
55支持[通用事件](../apis-arkui/arkui-ts/ts-component-general-events.md)。
56
57## 使用建议
58
591. 应用在实现自定义音量条的过程中,建议使用音频框架的音量变化监听接口,通过接口回调的音量类型volumeEvent.volumeType,音量等级volumeEvent.volume以及是否显示音量条volumeEvent.updateUi等信息,应用可以判断是否需要处理当前数据和显示自定义的音量条,具体可参考[音量变化回调接口](js-apis-audio.md#onvolumechange9)介绍。
602. 为确保用户能感知音量变化,不允许应用后台调节音量,系统会做出对应的控制措施。
61
62## 示例
63
64音量面板功能的示例说明参考如下。
65
66```ts
67import { AVVolumePanel } from '@kit.AudioKit';
68
69@Entry
70@Component
71struct Index {
72
73  @State volume: number = 0;
74
75  build() {
76    Row() {
77      Column() {
78        AVVolumePanel({
79          volumeLevel: this.volume,
80          volumeParameter: {
81            position: {
82              x: 100,
83              y: 200
84            }
85          }
86        })
87      }
88    }.width('50%').height('50%')
89  }
90}
91```
92