• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_audio_volume_manager.h
2<!--Kit: Audio Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @songshenke-->
5<!--Designer: @caixuejiang; @hao-liangfei; @zhanganxiang-->
6<!--Tester: @Filger-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11声明音频音量管理器接口。该文件接口用于创建AudioVolumeManager。
12
13**引用文件:** <ohaudio/native_audio_volume_manager.h>
14
15**库:** libohaudio.so
16
17**系统能力:** SystemCapability.Multimedia.Audio.Core
18
19**起始版本:** 20
20
21**相关模块:** [OHAudio](capi-ohaudio.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) | OH_AudioVolumeManager | 声明音频音量管理器。音频音量管理器提供多种函数,供开发人员获取系统音量信息。 |
30
31### 函数
32
33| 名称 | typedef关键字 | 描述 |
34| -- | -- | -- |
35| [typedef void (\*OH_AudioVolumeManager_OnStreamVolumeChangeCallback)(void *userData, OH_AudioStream_Usage usage, int32_t volumeLevel, bool updateUi)](#oh_audiovolumemanager_onstreamvolumechangecallback) | OH_AudioVolumeManager_OnStreamVolumeChangeCallback | 音量变化回调函数的原型定义,用于传递给[OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_registerstreamvolumechangecallback)。 |
36| [typedef void (\*OH_AudioVolumeManager_OnRingerModeChangeCallback)(void *userData, OH_AudioRingerMode ringerMode)](#oh_audiovolumemanager_onringermodechangecallback) | OH_AudioVolumeManager_OnRingerModeChangeCallback | 铃声模式变化回调函数的原型定义,用于传递给[OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_registerstreamvolumechangecallback)。 |
37| [OH_AudioCommon_Result OH_AudioManager_GetAudioVolumeManager(OH_AudioVolumeManager **volumeManager)](#oh_audiomanager_getaudiovolumemanager) | - | 使用音量管理器相关功能,首先需要获取音量管理器实例。 |
38| [OH_AudioCommon_Result OH_AudioVolumeManager_GetMaxVolumeByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, int32_t *maxVolumeLevel)](#oh_audiovolumemanager_getmaxvolumebyusage) | - | 获取指定用途类型音频流的最大音量等级。 |
39| [OH_AudioCommon_Result OH_AudioVolumeManager_GetMinVolumeByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, int32_t *minVolumeLevel)](#oh_audiovolumemanager_getminvolumebyusage) | - | 获取指定用途类型音频流的最小音量等级。 |
40| [OH_AudioCommon_Result OH_AudioVolumeManager_GetVolumeByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, int32_t *volumeLevel)](#oh_audiovolumemanager_getvolumebyusage) | - | 获取指定用途类型音频流的系统音量等级。 |
41| [OH_AudioCommon_Result OH_AudioVolumeManager_IsMuteByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, bool *muted)](#oh_audiovolumemanager_ismutebyusage) | - | 检查指定用途类型的音频流是否处于静音状态。 |
42| [OH_AudioCommon_Result OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, OH_AudioVolumeManager_OnStreamVolumeChangeCallback callback, void *userData)](#oh_audiovolumemanager_registerstreamvolumechangecallback) | - | 注册音频流音量修改回调函数。 |
43| [OH_AudioCommon_Result OH_AudioVolumeManager_UnregisterStreamVolumeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioVolumeManager_OnStreamVolumeChangeCallback callback)](#oh_audiovolumemanager_unregisterstreamvolumechangecallback) | - | 取消注册音频流音量修改回调函数。 |
44| [OH_AudioCommon_Result OH_AudioVolumeManager_GetRingerMode(OH_AudioVolumeManager *volumeManager, OH_AudioRingerMode *ringerMode)](#oh_audiovolumemanager_getringermode) | - | 获取当前铃声模式。 |
45| [OH_AudioCommon_Result OH_AudioVolumeManager_RegisterRingerModeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioVolumeManager_OnRingerModeChangeCallback callback, void *userData)](#oh_audiovolumemanager_registerringermodechangecallback) | - | 注册铃声模式切换回调函数。 |
46| [OH_AudioCommon_Result OH_AudioVolumeManager_UnregisterRingerModeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioVolumeManager_OnRingerModeChangeCallback callback)](#oh_audiovolumemanager_unregisterringermodechangecallback) | - | 取消注册铃声模式切换回调函数。 |
47
48## 函数说明
49
50### OH_AudioVolumeManager_OnStreamVolumeChangeCallback()
51
52```
53typedef void (*OH_AudioVolumeManager_OnStreamVolumeChangeCallback)(void *userData, OH_AudioStream_Usage usage, int32_t volumeLevel, bool updateUi)
54```
55
56**描述**
57
58音量变化回调函数的原型定义,用于传递给[OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_registerstreamvolumechangecallback)。
59
60**起始版本:** 20
61
62
63**参数:**
64
65| 参数项 | 描述 |
66| -- | -- |
67| void *userData | 用户自定义数据指针。 |
68| [OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage) usage | 对应音量被调整的流的用途类型。 |
69| int32_t volumeLevel | 修改后的音量。 |
70| bool updateUi | 是否在UI界面显示音量变化。true表示显示,false表示不显示。 |
71
72### OH_AudioVolumeManager_OnRingerModeChangeCallback()
73
74```
75typedef void (*OH_AudioVolumeManager_OnRingerModeChangeCallback)(void *userData, OH_AudioRingerMode ringerMode)
76```
77
78**描述**
79
80铃声模式变化回调函数的原型定义,用于传递给[OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_registerstreamvolumechangecallback)。
81
82**起始版本:** 20
83
84
85**参数:**
86
87| 参数项 | 描述 |
88| -- | -- |
89| void *userData | 用户自定义数据指针。 |
90| [OH_AudioRingerMode](capi-native-audio-common-h.md#oh_audioringermode) ringerMode | 切换后的铃声模式。 |
91
92### OH_AudioManager_GetAudioVolumeManager()
93
94```
95OH_AudioCommon_Result OH_AudioManager_GetAudioVolumeManager(OH_AudioVolumeManager **volumeManager)
96```
97
98**描述**
99
100使用音量管理器相关功能,首先需要获取音量管理器实例。
101
102**起始版本:** 20
103
104
105**参数:**
106
107| 参数项 | 描述 |
108| -- | -- |
109| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) **volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
110
111**返回:**
112
113| 类型 | 说明 |
114| -- | -- |
115| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager为nullptr。 |
116
117### OH_AudioVolumeManager_GetMaxVolumeByUsage()
118
119```
120OH_AudioCommon_Result OH_AudioVolumeManager_GetMaxVolumeByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, int32_t *maxVolumeLevel)
121```
122
123**描述**
124
125获取指定用途类型音频流的最大音量等级。
126
127**起始版本:** 20
128
129
130**参数:**
131
132| 参数项 | 描述 |
133| -- | -- |
134| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
135| [OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage) usage | 用于映射特定音量类型的音频流用途类型。 |
136| int32_t *maxVolumeLevel | 用于接收返回的最大音量。 |
137
138**返回:**
139
140| 类型 | 说明 |
141| -- | -- |
142| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或maxVolumeLevel为nullptr,或usage是无效值。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
143
144### OH_AudioVolumeManager_GetMinVolumeByUsage()
145
146```
147OH_AudioCommon_Result OH_AudioVolumeManager_GetMinVolumeByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, int32_t *minVolumeLevel)
148```
149
150**描述**
151
152获取指定用途类型音频流的最小音量等级。
153
154**起始版本:** 20
155
156
157**参数:**
158
159| 参数项 | 描述 |
160| -- | -- |
161| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
162| [OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage) usage | 用于映射特定音量类型的音频流用途类型。 |
163| int32_t *minVolumeLevel | 用于接收返回的最小音量。 |
164
165**返回:**
166
167| 类型 | 说明 |
168| -- | -- |
169| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或minVolumeLevel为nullptr,或usage是无效值。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
170
171### OH_AudioVolumeManager_GetVolumeByUsage()
172
173```
174OH_AudioCommon_Result OH_AudioVolumeManager_GetVolumeByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, int32_t *volumeLevel)
175```
176
177**描述**
178
179获取指定用途类型音频流的系统音量等级。
180
181**起始版本:** 20
182
183
184**参数:**
185
186| 参数项 | 描述 |
187| -- | -- |
188| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
189| [OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage) usage | 用于映射特定音量类型的音频流用途类型。 |
190| int32_t *volumeLevel | 用于接收返回的系统音量。 |
191
192**返回:**
193
194| 类型 | 说明 |
195| -- | -- |
196| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或volumeLevel为nullptr,或usage是无效值。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
197
198### OH_AudioVolumeManager_IsMuteByUsage()
199
200```
201OH_AudioCommon_Result OH_AudioVolumeManager_IsMuteByUsage(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, bool *muted)
202```
203
204**描述**
205
206检查指定用途类型的音频流是否处于静音状态。
207
208**起始版本:** 20
209
210
211**参数:**
212
213| 参数项 | 描述 |
214| -- | -- |
215| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
216| [OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage) usage | 用于映射特定音量类型的音频流用途类型。 |
217| bool *muted | 用于接收返回的音频流是否静音。true表示静音,false表示未静音。 |
218
219**返回:**
220
221| 类型 | 说明 |
222| -- | -- |
223| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或muted为nullptr,或usage是无效值。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
224
225### OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback()
226
227```
228OH_AudioCommon_Result OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioStream_Usage usage, OH_AudioVolumeManager_OnStreamVolumeChangeCallback callback, void *userData)
229```
230
231**描述**
232
233注册音频流音量修改回调函数。
234
235**起始版本:** 20
236
237
238**参数:**
239
240| 参数项 | 描述 |
241| -- | -- |
242| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
243| [OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage) usage | 监听用于映射特定音量类型的音频流用途类型。 |
244| [OH_AudioVolumeManager_OnStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_onstreamvolumechangecallback) callback | 监听的音频流音量发生时,将调用此回调函数[OH_AudioVolumeManager_OnStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_onstreamvolumechangecallback)。 |
245| void *userData | 用户自定义数据指针。 |
246
247**返回:**
248
249| 类型 | 说明 |
250| -- | -- |
251| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager、usage或callback为nullptr,或usage是无效值。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
252
253### OH_AudioVolumeManager_UnregisterStreamVolumeChangeCallback()
254
255```
256OH_AudioCommon_Result OH_AudioVolumeManager_UnregisterStreamVolumeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioVolumeManager_OnStreamVolumeChangeCallback callback)
257```
258
259**描述**
260
261取消注册音频流音量修改回调函数。
262
263**起始版本:** 20
264
265
266**参数:**
267
268| 参数项 | 描述 |
269| -- | -- |
270| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
271| [OH_AudioVolumeManager_OnStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_onstreamvolumechangecallback) callback | 指向[OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_registerstreamvolumechangecallback)传入的回调函数,用于取消注册。 |
272
273**返回:**
274
275| 类型 | 说明 |
276| -- | -- |
277| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或callback为nullptr。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
278
279### OH_AudioVolumeManager_GetRingerMode()
280
281```
282OH_AudioCommon_Result OH_AudioVolumeManager_GetRingerMode(OH_AudioVolumeManager *volumeManager, OH_AudioRingerMode *ringerMode)
283```
284
285**描述**
286
287获取当前铃声模式。
288
289**起始版本:** 20
290
291
292**参数:**
293
294| 参数项 | 描述 |
295| -- | -- |
296| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
297| [OH_AudioRingerMode](capi-native-audio-common-h.md#oh_audioringermode) *ringerMode | 用于接收返回的铃声模式。 |
298
299**返回:**
300
301| 类型 | 说明 |
302| -- | -- |
303| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或ringerMode为nullptr。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
304
305### OH_AudioVolumeManager_RegisterRingerModeChangeCallback()
306
307```
308OH_AudioCommon_Result OH_AudioVolumeManager_RegisterRingerModeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioVolumeManager_OnRingerModeChangeCallback callback, void *userData)
309```
310
311**描述**
312
313注册铃声模式切换回调函数。
314
315**起始版本:** 20
316
317
318**参数:**
319
320| 参数项 | 描述 |
321| -- | -- |
322| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
323| [OH_AudioVolumeManager_OnRingerModeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_onringermodechangecallback) callback | 监听的铃声模式发生切换时,将调用此回调函数[OH_AudioVolumeManager_OnRingerModeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_onringermodechangecallback)。 |
324| void *userData | 用户自定义数据指针。 |
325
326**返回:**
327
328| 类型 | 说明 |
329| -- | -- |
330| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或callback为nullptr。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
331
332### OH_AudioVolumeManager_UnregisterRingerModeChangeCallback()
333
334```
335OH_AudioCommon_Result OH_AudioVolumeManager_UnregisterRingerModeChangeCallback(OH_AudioVolumeManager *volumeManager, OH_AudioVolumeManager_OnRingerModeChangeCallback callback)
336```
337
338**描述**
339
340取消注册铃声模式切换回调函数。
341
342**起始版本:** 20
343
344
345**参数:**
346
347| 参数项 | 描述 |
348| -- | -- |
349| [OH_AudioVolumeManager](capi-ohaudio-oh-audiovolumemanager.md) *volumeManager | 指向OH_AudioVolumeManager用于接收创建的音量管理器实例。 |
350| [OH_AudioVolumeManager_OnRingerModeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_onringermodechangecallback) callback | 指向[OH_AudioVolumeManager_RegisterRingerModeChangeCallback](capi-native-audio-volume-manager-h.md#oh_audiovolumemanager_registerringermodechangecallback)传入的回调函数,用于取消注册。 |
351
352**返回:**
353
354| 类型 | 说明 |
355| -- | -- |
356| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数volumeManager或callback为nullptr。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统处理错误。 |
357
358
359