AudioManager.md 8.8 KB
Newer Older
W
wenjun 已提交
1 2
# AudioManager<a name="ZH-CN_TOPIC_0000001054598151"></a>

[
[yang] 已提交
3 4 5 6 7 8 9 10 11 12
-   [Overview](#section92245219165630)
-   [Summary](#section1284654492165630)
-   [Data Fields](#pub-attribs)
-   [Details](#section1307104535165630)
-   [Field](#section435920409165630)
-   [GetAllAdapters](#a93a0ffb0df907fabcfca827d31dadf39)
-   [LoadAdapter](#ab090e9c760a2888b55acc7baa4222ccb)
-   [UnloadAdapter](#a556137764c5bf784972ba79303720fc3)

## **Overview**<a name="section92245219165630"></a>
W
wenjun 已提交
13 14 15 16 17 18 19 20 21

**Related Modules:**

[Audio](Audio.md)

**Description:**

Manages audio adapters through a specific adapter driver program loaded based on the given audio adapter descriptor. 

[
[yang] 已提交
22 23 24
See also
:   [AudioAdapter](AudioAdapter.md) 

W
wenjun 已提交
25 26 27 28 29 30 31 32
**Since:**

1.0

**Version:**

1.0

[
[yang] 已提交
33
## **Summary**<a name="section1284654492165630"></a>
W
wenjun 已提交
34 35 36

## Data Fields<a name="pub-attribs"></a>

[
[yang] 已提交
37 38
<a name="table1340527142165630"></a>
<table><thead align="left"><tr id="row194446610165630"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p1369309278165630"><a name="p1369309278165630"></a><a name="p1369309278165630"></a>Variable Name</p>
W
wenjun 已提交
39
</th>
[
[yang] 已提交
40
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p2049272097165630"><a name="p2049272097165630"></a><a name="p2049272097165630"></a>Description</p>
W
wenjun 已提交
41 42 43
</th>
</tr>
</thead>
[
[yang] 已提交
44
<tbody><tr id="row152334548165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1140648746165630"><a name="p1140648746165630"></a><a name="p1140648746165630"></a><a href="AudioManager.md#a93a0ffb0df907fabcfca827d31dadf39">GetAllAdapters</a> )(struct <a href="AudioManager.md">AudioManager</a> *manager, struct <a href="AudioAdapterDescriptor.md">AudioAdapterDescriptor</a> **descs, int32_t *size)</p>
W
wenjun 已提交
45
</td>
[
[yang] 已提交
46 47
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1247730582165630"><a name="p1247730582165630"></a><a name="p1247730582165630"></a>int32_t(* </p>
<p id="p1123591801165630"><a name="p1123591801165630"></a><a name="p1123591801165630"></a>Obtains the list of all adapters supported by an audio driver. </p>
W
wenjun 已提交
48 49
</td>
</tr>
[
[yang] 已提交
50
<tr id="row341552850165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1057224458165630"><a name="p1057224458165630"></a><a name="p1057224458165630"></a><a href="AudioManager.md#ab090e9c760a2888b55acc7baa4222ccb">LoadAdapter</a> )(struct <a href="AudioManager.md">AudioManager</a> *manager, const struct <a href="AudioAdapterDescriptor.md">AudioAdapterDescriptor</a> *desc, struct <a href="AudioAdapter.md">AudioAdapter</a> **adapter)</p>
W
wenjun 已提交
51
</td>
[
[yang] 已提交
52 53
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1283791807165630"><a name="p1283791807165630"></a><a name="p1283791807165630"></a>int32_t(* </p>
<p id="p1190771390165630"><a name="p1190771390165630"></a><a name="p1190771390165630"></a>Loads the driver for an audio adapter. </p>
W
wenjun 已提交
54 55
</td>
</tr>
[
[yang] 已提交
56
<tr id="row1688834293165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p431049628165630"><a name="p431049628165630"></a><a name="p431049628165630"></a><a href="AudioManager.md#a556137764c5bf784972ba79303720fc3">UnloadAdapter</a> )(struct <a href="AudioManager.md">AudioManager</a> *manager, struct <a href="AudioAdapter.md">AudioAdapter</a> *adapter)</p>
W
wenjun 已提交
57
</td>
[
[yang] 已提交
58 59
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1864726231165630"><a name="p1864726231165630"></a><a name="p1864726231165630"></a>void(* </p>
<p id="p47368279165630"><a name="p47368279165630"></a><a name="p47368279165630"></a>Unloads the driver of an audio adapter. </p>
W
wenjun 已提交
60 61 62 63 64
</td>
</tr>
</tbody>
</table>

[
[yang] 已提交
65
## **Details**<a name="section1307104535165630"></a>
W
wenjun 已提交
66

[
[yang] 已提交
67
## **Field **<a name="section435920409165630"></a>
W
wenjun 已提交
68 69 70 71 72 73 74 75 76 77 78 79 80

## GetAllAdapters<a name="a93a0ffb0df907fabcfca827d31dadf39"></a>

```
int32_t(* AudioManager::GetAllAdapters) (struct [AudioManager](AudioManager.md) *manager, struct [AudioAdapterDescriptor](AudioAdapterDescriptor.md) **descs, int32_t *size)
```

 **Description:**

Obtains the list of all adapters supported by an audio driver. 

**Parameters:**

[
[yang] 已提交
81 82
<a name="table535628776165630"></a>
<table><thead align="left"><tr id="row1870233404165630"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p362707567165630"><a name="p362707567165630"></a><a name="p362707567165630"></a>Name</p>
W
wenjun 已提交
83
</th>
[
[yang] 已提交
84
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p1279436868165630"><a name="p1279436868165630"></a><a name="p1279436868165630"></a>Description</p>
W
wenjun 已提交
85 86 87
</th>
</tr>
</thead>
[
[yang] 已提交
88
<tbody><tr id="row785083072165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">manager</td>
W
wenjun 已提交
89 90
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the pointer to the audio adapter manager to operate. </td>
</tr>
[
[yang] 已提交
91
<tr id="row930088954165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">descs</td>
W
wenjun 已提交
92 93
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the double pointer to the audio adapter list. </td>
</tr>
[
[yang] 已提交
94
<tr id="row1923415004165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">size</td>
W
wenjun 已提交
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the pointer to the length of the list. </td>
</tr>
</tbody>
</table>

**Returns:**

Returns  **0**  if the list is obtained successfully; returns a negative value otherwise. 

**See also:**

[LoadAdapter](AudioManager.md#ab090e9c760a2888b55acc7baa4222ccb) 

## LoadAdapter<a name="ab090e9c760a2888b55acc7baa4222ccb"></a>

```
int32_t(* AudioManager::LoadAdapter) (struct [AudioManager](AudioManager.md) *manager, const struct [AudioAdapterDescriptor](AudioAdapterDescriptor.md) *desc, struct [AudioAdapter](AudioAdapter.md) **adapter)
```

 **Description:**

Loads the driver for an audio adapter. 

For example, to load a USB driver, you may need to load a dynamic-link library \(\*.so\) in specific implementation.

**Parameters:**

[
[yang] 已提交
122 123
<a name="table1759120842165630"></a>
<table><thead align="left"><tr id="row1066157795165630"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p327376939165630"><a name="p327376939165630"></a><a name="p327376939165630"></a>Name</p>
W
wenjun 已提交
124
</th>
[
[yang] 已提交
125
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p240796819165630"><a name="p240796819165630"></a><a name="p240796819165630"></a>Description</p>
W
wenjun 已提交
126 127 128
</th>
</tr>
</thead>
[
[yang] 已提交
129
<tbody><tr id="row1815017019165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">manager</td>
W
wenjun 已提交
130 131
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the pointer to the audio adapter manager to operate. </td>
</tr>
[
[yang] 已提交
132
<tr id="row1919094764165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">desc</td>
W
wenjun 已提交
133 134
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the pointer to the descriptor of the audio adapter. </td>
</tr>
[
[yang] 已提交
135
<tr id="row685686252165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">adapter</td>
W
wenjun 已提交
136 137 138 139 140 141 142 143 144 145 146 147 148
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the double pointer to the audio adapter. </td>
</tr>
</tbody>
</table>

**Returns:**

Returns  **0**  if the driver is loaded successfully; returns a negative value otherwise. 

**See also:**

[GetAllAdapters](AudioManager.md#a93a0ffb0df907fabcfca827d31dadf39) 

[
[yang] 已提交
149 150
 [UnloadAdapter](AudioManager.md#a556137764c5bf784972ba79303720fc3) 

W
wenjun 已提交
151 152 153 154 155 156 157 158 159 160 161 162
## UnloadAdapter<a name="a556137764c5bf784972ba79303720fc3"></a>

```
void(* AudioManager::UnloadAdapter) (struct [AudioManager](AudioManager.md) *manager, struct [AudioAdapter](AudioAdapter.md) *adapter)
```

 **Description:**

Unloads the driver of an audio adapter. 

**Parameters:**

[
[yang] 已提交
163 164
<a name="table202502867165630"></a>
<table><thead align="left"><tr id="row976104235165630"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p1302960254165630"><a name="p1302960254165630"></a><a name="p1302960254165630"></a>Name</p>
W
wenjun 已提交
165
</th>
[
[yang] 已提交
166
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p972442855165630"><a name="p972442855165630"></a><a name="p972442855165630"></a>Description</p>
W
wenjun 已提交
167 168 169
</th>
</tr>
</thead>
[
[yang] 已提交
170
<tbody><tr id="row321427427165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">manager</td>
W
wenjun 已提交
171 172
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the pointer to the audio adapter manager to operate. </td>
</tr>
[
[yang] 已提交
173
<tr id="row2141599177165630"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 ">adapter</td>
W
wenjun 已提交
174 175 176 177 178 179 180 181 182
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 ">Indicates the pointer to the audio adapter whose driver will be unloaded. </td>
</tr>
</tbody>
</table>

**See also:**

[LoadAdapter](AudioManager.md#ab090e9c760a2888b55acc7baa4222ccb)