• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_audio_manager.h
2
3## Overview
4
5The file declares the functions related to an audio manager.
6
7**File to include**: <ohaudio/native_audio_manager.h>
8
9**Library**: libohaudio.so
10
11**System capability**: SystemCapability.Multimedia.Audio.Core
12
13**Since**: 12
14
15**Related module**: [OHAudio](capi-ohaudio.md)
16
17## Summary
18
19### Structs
20
21| Name| typedef Keyword| Description|
22| -- | -- | -- |
23| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) | OH_AudioManager | Describes an audio manager, which is used for audio management.|
24
25### Functions
26
27| Name| typedef Keyword| Description|
28| -- | -- | -- |
29| [typedef void (\*OH_AudioManager_OnAudioSceneChangeCallback)(void *userData,OH_AudioScene scene)](#oh_audiomanager_onaudioscenechangecallback) | OH_AudioManager_OnAudioSceneChangeCallback | Defines the prototype of the audio scene change callback function, which is passed in [OH_AudioManager_RegisterAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_registeraudioscenechangecallback).|
30| [OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager)](#oh_getaudiomanager) | - | Obtains an OH_AudioManager instance.<br>Before using the features related to the audio manager, you must obtain an OH_AudioManager instance. |
31| [OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager* manager, OH_AudioScene *scene)](#oh_getaudioscene) | - | Obtains the audio scene.|
32| [OH_AudioCommon_Result OH_AudioManager_RegisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback, void *userData)](#oh_audiomanager_registeraudioscenechangecallback) | - | Registers the audio scene change callback function.|
33| [OH_AudioCommon_Result OH_AudioManager_UnregisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback)](#oh_audiomanager_unregisteraudioscenechangecallback) | - | Unregisters the audio scene change callback function.|
34
35## Function Description
36
37### OH_AudioManager_OnAudioSceneChangeCallback()
38
39```
40typedef void (*OH_AudioManager_OnAudioSceneChangeCallback) (void *userData, OH_AudioScene scene)
41```
42
43**Description**
44
45Defines the prototype of the audio scene change callback function, which is passed in [OH_AudioManager_RegisterAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_registeraudioscenechangecallback).
46
47**Since**: 20
48
49
50**Parameters**
51
52| Name| Description|
53| -- | -- |
54| void *userData | Pointer to user data.|
55| [OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene) scene | Audio scene after change.|
56
57### OH_GetAudioManager()
58
59```
60OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager)
61```
62
63**Description**
64
65Obtains an OH_AudioManager instance.<br> Before using the features related to the audio manager, you must obtain an OH_AudioManager instance.
66
67**Since**: 12
68
69
70**Parameters**
71
72| Name| Description|
73| -- | -- |
74| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) **audioManager | Double pointer to an [OH_AudioManager](capi-ohaudio-oh-audiomanager.md), which is used to receive the audio manager instance created.|
75
76**Returns**
77
78| Type| Description|
79| -- | -- |
80| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | **AUDIOCOMMON_RESULT_SUCCESS**: The function is executed successfully.<br>**AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM**: The **audioManager** parameter is nullptr. |
81
82### OH_GetAudioScene()
83
84```
85OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager* manager, OH_AudioScene *scene)
86```
87
88**Description**
89
90Obtains the audio scene.
91
92**Since**: 12
93
94
95**Parameters**
96
97| Name| Description|
98| -- | -- |
99| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md)* manager | Pointer to an [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) instance, which is created by calling [OH_GetAudioManager](capi-native-audio-manager-h.md#oh_getaudiomanager).|
100| [OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene) *scene | Pointer to an [OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene), which is used to receive the audio scene.|
101
102**Returns**
103
104| Type| Description|
105| -- | -- |
106| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | **AUDIOCOMMON_RESULT_SUCCESS**: The function is executed successfully.<br>**AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM**:<br>1. The **audioManager** parameter is nullptr.<br>2. The **scene** parameter is nullptr. |
107
108### OH_AudioManager_RegisterAudioSceneChangeCallback()
109
110```
111OH_AudioCommon_Result OH_AudioManager_RegisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback, void *userData)
112```
113
114**Description**
115
116Registers the audio scene change callback function.
117
118**Since**: 20
119
120
121**Parameters**
122
123| Name| Description|
124| -- | -- |
125| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) *manager | Pointer to an [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) instance.|
126| [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) invoked when the audio scene changes.|
127| void *userData | Pointer to user data.|
128
129**Returns**
130
131| Type| Description|
132| -- | -- |
133| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | **AUDIOCOMMON_RESULT_SUCCESS**: The function is executed successfully.<br>**AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM**:<br>1. The **manager** parameter is nullptr.<br>2. The **callback** parameter is nullptr.<br>**AUDIOCOMMON_RESULT_ERROR_SYSTEM**: System error. |
134
135### OH_AudioManager_UnregisterAudioSceneChangeCallback()
136
137```
138OH_AudioCommon_Result OH_AudioManager_UnregisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback)
139```
140
141**Description**
142
143Unregisters the audio scene change callback function.
144
145**Since**: 20
146
147
148**Parameters**
149
150| Name| Description|
151| -- | -- |
152| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) *manager | Pointer to an [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) instance.|
153| [OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback) callback | Pointer to the callback function passed by [OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback).|
154
155**Returns**
156
157| Type| Description|
158| -- | -- |
159| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | **AUDIOCOMMON_RESULT_SUCCESS**: The function is executed successfully.<br>**AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM**:<br>1. The **manager** parameter is nullptr.<br>2. The **callback** parameter is nullptr.<br>**AUDIOCOMMON_RESULT_ERROR_SYSTEM**: System error. |
160
161