• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_audio_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声明音频管理相关的接口。
12
13**引用文件:** <ohaudio/native_audio_manager.h>
14
15**库:** libohaudio.so
16
17**系统能力:** SystemCapability.Multimedia.Audio.Core
18
19**起始版本:** 12
20
21**相关模块:** [OHAudio](capi-ohaudio.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) | OH_AudioManager | 声明音频管理器。用于管理音频管理相关功能。 |
30
31### 函数
32
33| 名称 | typedef关键字 | 描述 |
34| -- | -- | -- |
35| [typedef void (\*OH_AudioManager_OnAudioSceneChangeCallback)(void *userData, OH_AudioScene scene)](#oh_audiomanager_onaudioscenechangecallback) | OH_AudioManager_OnAudioSceneChangeCallback | 音频场景变化回调函数的原型定义,用于传递给[OH_AudioManager_RegisterAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_registeraudioscenechangecallback)。 |
36| [OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager)](#oh_getaudiomanager) | - | 获取音频管理器。<br> 使用音频管理器相关功能,首先需要获取音频管理器实例。 |
37| [OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager* manager, OH_AudioScene *scene)](#oh_getaudioscene) | - | 获取音频场景模式。 |
38| [OH_AudioCommon_Result OH_AudioManager_RegisterAudioSceneChangeCallback(OH_AudioManager *manager, OH_AudioManager_OnAudioSceneChangeCallback callback, void *userData)](#oh_audiomanager_registeraudioscenechangecallback) | - | 注册音频场景切换回调函数。 |
39| [OH_AudioCommon_Result OH_AudioManager_UnregisterAudioSceneChangeCallback(OH_AudioManager *manager, OH_AudioManager_OnAudioSceneChangeCallback callback)](#oh_audiomanager_unregisteraudioscenechangecallback) | - | 取消注册音频场景切换回调函数。 |
40
41## 函数说明
42
43### OH_AudioManager_OnAudioSceneChangeCallback()
44
45```
46typedef void (*OH_AudioManager_OnAudioSceneChangeCallback) (void *userData, OH_AudioScene scene)
47```
48
49**描述**
50
51音频场景变化回调函数的原型定义,用于传递给[OH_AudioManager_RegisterAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_registeraudioscenechangecallback)。
52
53**起始版本:** 20
54
55
56**参数:**
57
58| 参数项 | 描述 |
59| -- | -- |
60| void *userData | 用户自定义数据指针。 |
61| [OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene) scene | 切换后的音频场景。 |
62
63### OH_GetAudioManager()
64
65```
66OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager)
67```
68
69**描述**
70
71获取音频管理器。<br> 使用音频管理器相关功能,首先需要获取音频管理器实例。
72
73**起始版本:** 12
74
75
76**参数:**
77
78| 参数项 | 描述 |
79| -- | -- |
80| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) **audioManager | 指向[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)用于接收创建的音频管理器实例。 |
81
82**返回:**
83
84| 类型 | 说明 |
85| -- | -- |
86| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数audioManager为nullptr。 |
87
88### OH_GetAudioScene()
89
90```
91OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager* manager, OH_AudioScene *scene)
92```
93
94**描述**
95
96获取音频场景模式。
97
98**起始版本:** 12
99
100
101**参数:**
102
103| 参数项 | 描述 |
104| -- | -- |
105| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md)* manager | 指向[OH_GetAudioManager](capi-native-audio-manager-h.md#oh_getaudiomanager)创建的音频管理器实例:[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)。 |
106| [OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene) *scene | 指向[OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene)用于接收返回的音频场景模式。 |
107
108**返回:**
109
110| 类型 | 说明 |
111| -- | -- |
112| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br>                                                        1.参数audioManager为nullptr;<br>                                                        2.参数scene为nullptr。 |
113
114### OH_AudioManager_RegisterAudioSceneChangeCallback()
115
116```
117OH_AudioCommon_Result OH_AudioManager_RegisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback, void *userData)
118```
119
120**描述**
121
122注册音频场景切换回调函数。
123
124**起始版本:** 20
125
126
127**参数:**
128
129| 参数项 | 描述 |
130| -- | -- |
131| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) *manager | 指向[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)用于接收创建的音频管理器实例。 |
132| [OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback) callback | 当音频场景切换时,将调用此回调函数[OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback)。 |
133| void *userData | 用户自定义数据指针。 |
134
135**返回:**
136
137| 类型 | 说明 |
138| -- | -- |
139| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br>                                                    1.参数manager为nullptr;<br>                                                    2.参数callback为nullptr。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统错误。 |
140
141### OH_AudioManager_UnregisterAudioSceneChangeCallback()
142
143```
144OH_AudioCommon_Result OH_AudioManager_UnregisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback)
145```
146
147**描述**
148
149取消注册音频场景切换回调函数。
150
151**起始版本:** 20
152
153
154**参数:**
155
156| 参数项 | 描述 |
157| -- | -- |
158| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) *manager | 指向[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)用于接收创建的音频管理器实例。 |
159| [OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback) callback | 指向[OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback)传入的回调函数,用于取消注册。 |
160
161**返回:**
162
163| 类型 | 说明 |
164| -- | -- |
165| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br>         AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br>                                                    1.参数manager为nullptr;<br>                                                    2.参数callback为nullptr。<br>         AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统错误。 |
166
167
168