js-apis-audio.md 29.7 KB
Newer Older
Z
zengyawen 已提交
1
# 音频管理
2

Z
zengyawen 已提交
3 4 5
>  **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

Z
zengyawen 已提交
6
## 导入模块
M
mamingshuai 已提交
7 8 9 10 11

```
import audio from '@ohos.multimedia.audio';
```

Z
zengyawen 已提交
12 13 14 15

## getAudioManager

getAudioManager(): AudioManager
M
mamingshuai 已提交
16 17 18

获取音频管理器。

Z
zengyawen 已提交
19 20
**系统能力:** SystemCapability.Multimedia.Audio.Core

M
mamingshuai 已提交
21
**返回值:**
Z
zengyawen 已提交
22 23 24
| 类型 | 说明 |
| -------- | -------- |
| [AudioManager](#audiomanager) | 音频管理类。 |
M
mamingshuai 已提交
25 26 27 28 29 30

**示例:**
```
var audioManager = audio.getAudioManager();
```

Z
zengyawen 已提交
31 32

## AudioVolumeType
M
mamingshuai 已提交
33

34
枚举,音频流类型。
M
mamingshuai 已提交
35

Z
zengyawen 已提交
36 37
| 名称 | 默认值 | 描述 |
| -------- | -------- | -------- |
Z
zengyawen 已提交
38 39
| RINGTONE | 2 | 表示铃声。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Volume |
| MEDIA | 3 | 表示媒体。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Volume |
Z
zengyawen 已提交
40 41 42


## DeviceFlag
M
mamingshuai 已提交
43

44
枚举,可获取的设备种类。
M
mamingshuai 已提交
45

Z
zengyawen 已提交
46 47
| 名称 | 默认值 | 描述 |
| -------- | -------- | -------- |
Z
zengyawen 已提交
48 49 50
| OUTPUT_DEVICES_FLAG | 1 | 表示输出设备种类。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| INPUT_DEVICES_FLAG | 2 | 表示输入设备种类。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| ALL_DEVICES_FLAG | 3 | 表示所有设备种类。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
Z
zengyawen 已提交
51 52 53


## DeviceRole
M
mamingshuai 已提交
54

55
枚举,设备角色。
M
mamingshuai 已提交
56

Z
zengyawen 已提交
57 58
| 名称 | 默认值 | 描述 |
| -------- | -------- | -------- |
Z
zengyawen 已提交
59 60
| INPUT_DEVICE | 1 | 输入设备角色。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| OUTPUT_DEVICE | 2 | 输出设备角色。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
M
mamingshuai 已提交
61 62


Z
zengyawen 已提交
63 64 65
## DeviceType

枚举,设备类型。
M
magekkkk 已提交
66

Z
zengyawen 已提交
67 68 69 70 71 72 73 74 75
| 名称           | 默认值 | 描述                                                         |
| -------------- | ------ | ------------------------------------------------------------ |
| INVALID        | 0      | 无效设备。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| EARPIECE       | 1      | 听筒。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| SPEAKER        | 2      | 扬声器。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| WIRED_HEADSET  | 3      | 有线耳机。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| BLUETOOTH_SCO  | 7      | 蓝牙设备SCO连接(Synchronous Connection Oriented)。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| BLUETOOTH_A2DP | 8      | 蓝牙设备A2DP连接(Advanced Audio Distribution Profile)。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| MIC            | 15     | 麦克风。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
M
magekkkk 已提交
76

Z
zengyawen 已提交
77
## ActiveDeviceType
M
magekkkk 已提交
78

Z
zengyawen 已提交
79
枚举,活跃设备类型。
M
magekkkk 已提交
80

Z
zengyawen 已提交
81 82 83 84
| 名称          | 默认值 | 描述                                                         |
| ------------- | ------ | ------------------------------------------------------------ |
| SPEAKER       | 2      | 扬声器。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| BLUETOOTH_SCO | 7      | 蓝牙设备SCO连接(Synchronous Connection Oriented)。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
M
mamingshuai 已提交
85

Z
zengyawen 已提交
86
## AudioRingMode<a name="audioringmode"></a>
87 88 89

枚举,铃声模式。

Z
zengyawen 已提交
90 91
| 名称 | 默认值 | 描述 |
| -------- | -------- | -------- |
Z
zengyawen 已提交
92 93 94
| RINGER_MODE_SILENT | 0 | 静音模式。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Communication |
| RINGER_MODE_VIBRATE | 1 | 震动模式。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Communication |
| RINGER_MODE_NORMAL | 2 | 响铃模式。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Communication |
Z
zengyawen 已提交
95 96 97


## AudioManager
M
mamingshuai 已提交
98

99
管理音频音量和音频设备。
M
mamingshuai 已提交
100

Z
zengyawen 已提交
101 102 103
### setVolume

setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback&lt;void&gt;): void
M
mamingshuai 已提交
104

105
设置指定流的音量,使用callback方式返回异步结果。
M
mamingshuai 已提交
106

Z
zengyawen 已提交
107 108
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
109 110
**参数:**

Z
zengyawen 已提交
111 112 113 114 115
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| volume | number | 是 | 音量等级,可设置范围通过getMinVolume和getMaxVolume获取。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调表示成功还是失败。 |
116

M
mamingshuai 已提交
117 118 119
**示例:**

```
Z
zengyawen 已提交
120
var audioManager = audio.getAudioManager();
121
audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err)=>{
M
mamingshuai 已提交
122
   if (err) {
123
	   console.error('Failed to set the volume. ${err.message}');
M
mamingshuai 已提交
124 125
	   return;
   }
126
   console.log('Callback invoked to indicate a successful volume setting.');
M
mamingshuai 已提交
127 128 129
})
```

Z
zengyawen 已提交
130 131 132
### setVolume

setVolume(volumeType: AudioVolumeType, volume: number): Promise&lt;void&gt;
M
mamingshuai 已提交
133

134
设置指定流的音量,使用promise方式返回异步结果。
M
mamingshuai 已提交
135

Z
zengyawen 已提交
136 137
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
138 139
**参数:**

Z
zengyawen 已提交
140 141 142 143
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| volume | number | 是 | 音量等级,可设置范围通过getMinVolume和getMaxVolume获取。 |
M
mamingshuai 已提交
144 145 146

**返回值:**

Z
zengyawen 已提交
147 148 149
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise回调表示成功还是失败。 |
M
mamingshuai 已提交
150 151 152 153

**示例:**

```
Z
zengyawen 已提交
154
var audioManager = audio.getAudioManager();
155 156
audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(()=>
    console.log('Promise returned to indicate a successful volume setting.');
M
mamingshuai 已提交
157 158 159
)
```

Z
zengyawen 已提交
160 161 162
### getVolume

getVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): void
M
mamingshuai 已提交
163

164
获取指定流的音量,使用callback方式返回异步结果。
M
mamingshuai 已提交
165

Z
zengyawen 已提交
166 167
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
168 169
**参数:**

Z
zengyawen 已提交
170 171 172 173
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调返回音量大小。 |
174

M
mamingshuai 已提交
175 176 177
**示例:**

```
Z
zengyawen 已提交
178
var audioManager = audio.getAudioManager();
179
audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
M
mamingshuai 已提交
180
   if (err) {
181
	   console.error('Failed to obtain the volume. ${err.message}');
M
mamingshuai 已提交
182 183
	   return;
   }
184
   console.log('Callback invoked to indicate that the volume is obtained.');
M
mamingshuai 已提交
185 186 187
})
```

Z
zengyawen 已提交
188 189 190
### getVolume

getVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
M
mamingshuai 已提交
191

192
获取指定流的音量,使用promise方式返回异步结果。
M
mamingshuai 已提交
193

Z
zengyawen 已提交
194 195
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
196 197
**参数:**

Z
zengyawen 已提交
198 199 200
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
M
mamingshuai 已提交
201 202 203

**返回值:**

Z
zengyawen 已提交
204 205 206
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;number&gt; | Promise回调返回音量大小。 |
M
mamingshuai 已提交
207 208 209 210

**示例:**

```
Z
zengyawen 已提交
211
var audioManager = audio.getAudioManager();
212 213
audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promise returned to indicate that the volume is obtained.' + value);
M
mamingshuai 已提交
214 215 216
)
```

Z
zengyawen 已提交
217 218 219
### getMinVolume

getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): void
M
mamingshuai 已提交
220

221
获取指定流的最小音量,使用callback方式返回异步结果。
M
mamingshuai 已提交
222

Z
zengyawen 已提交
223 224
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
225 226
**参数:**

Z
zengyawen 已提交
227 228 229 230
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调返回最小音量。 |
231

M
mamingshuai 已提交
232 233 234
**示例:**

```
Z
zengyawen 已提交
235
var audioManager = audio.getAudioManager();
Z
zengyawen 已提交
236
audioManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
237 238 239 240 241
    if (err) {
        console.error('Failed to obtain the minimum volume. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the minimum volume is obtained.' + value);
M
mamingshuai 已提交
242 243 244
})
```

Z
zengyawen 已提交
245 246 247
### getMinVolume

getMinVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
M
mamingshuai 已提交
248

249
获取指定流的最小音量,使用promise方式返回异步结果。
M
mamingshuai 已提交
250

Z
zengyawen 已提交
251 252
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
253 254
**参数:**

Z
zengyawen 已提交
255 256 257
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
M
mamingshuai 已提交
258 259 260

**返回值:**

Z
zengyawen 已提交
261 262 263
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;number&gt; | Promise回调返回最小音量。 |
M
mamingshuai 已提交
264 265 266 267

**示例:**

```
Z
zengyawen 已提交
268
var audioManager = audio.getAudioManager();
269 270
audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promised returned to indicate that the minimum  volume is obtained.' + value);
M
mamingshuai 已提交
271 272 273
)
```

Z
zengyawen 已提交
274 275 276
### getMaxVolume

getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): void
M
mamingshuai 已提交
277

278
获取指定流的最大音量,使用callback方式返回异步结果。
M
mamingshuai 已提交
279

Z
zengyawen 已提交
280 281
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
282 283
**参数:**

Z
zengyawen 已提交
284 285 286 287
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调返回最大音量大小。 |
288

M
mamingshuai 已提交
289 290 291
**示例:**

```
Z
zengyawen 已提交
292
var audioManager = audio.getAudioManager();
293 294 295 296 297 298
audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
    if (err) {
        console.error('Failed to obtain the maximum volume. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the maximum volume is obtained.' + value);
M
mamingshuai 已提交
299 300 301
})
```

Z
zengyawen 已提交
302 303 304
### getMaxVolume

getMaxVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
M
mamingshuai 已提交
305

306
获取指定流的最大音量,使用promise方式返回异步结果。
M
mamingshuai 已提交
307

Z
zengyawen 已提交
308 309
**系统能力:** SystemCapability.Multimedia.Audio.Volume

M
mamingshuai 已提交
310 311
**参数:**

Z
zengyawen 已提交
312 313 314
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
M
mamingshuai 已提交
315 316 317

**返回值:**

Z
zengyawen 已提交
318 319 320
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;number&gt; | Promise回调返回最大音量大小。 |
M
mamingshuai 已提交
321 322 323 324

**示例:**

```
Z
zengyawen 已提交
325
var audioManager = audio.getAudioManager();
M
mamingshuai 已提交
326
audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data)=>
327
    console.log('Promised returned to indicate that the maximum volume is obtained.');
Z
zengyawen 已提交
328 329 330
)
```

Z
zengyawen 已提交
331
### mute
Z
zengyawen 已提交
332 333

mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
334

335
设置指定音量流静音,使用callback方式返回异步结果。
Z
zengyawen 已提交
336

Z
zengyawen 已提交
337 338
**系统能力:** SystemCapability.Multimedia.Audio.Volume

Z
zengyawen 已提交
339 340
**参数:**

Z
zengyawen 已提交
341 342 343 344 345
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| mute | boolean | 是 | 静音状态,true为静音,false为非静音。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调表示成功还是失败。 |
346

Z
zengyawen 已提交
347 348 349
**示例:**

```
Z
zengyawen 已提交
350
var audioManager = audio.getAudioManager();
351 352 353 354 355 356 357 358 359
audioManager.mute(audio.AudioVolumeType.MEDIA, true, (err) => {
    if (err) {
        console.error('Failed to mute the stream. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the stream is muted.');
})
```

Z
zengyawen 已提交
360
### mute
Z
zengyawen 已提交
361 362

mute(volumeType: AudioVolumeType, mute: boolean): Promise&lt;void&gt;
363 364 365

设置指定音量流静音,使用promise方式返回异步结果。

Z
zengyawen 已提交
366 367
**系统能力:** SystemCapability.Multimedia.Audio.Volume

368 369
**参数:**

Z
zengyawen 已提交
370 371 372 373
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| mute | boolean | 是 | 静音状态,true为静音,false为非静音。 |
374 375 376

**返回值:**

Z
zengyawen 已提交
377 378 379
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise回调表示成功还是失败。 |
380 381 382

**示例:**

Z
zengyawen 已提交
383

384
```
Z
zengyawen 已提交
385
var audioManager = audio.getAudioManager();
386 387 388 389 390 391
audioManager.mute(audio.AudioVolumeType.MEDIA, true).then(() =>
    console.log('Promise returned to indicate that the stream is muted.');
)
```


Z
zengyawen 已提交
392
### isMute
393

Z
zengyawen 已提交
394
isMute(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): void
395

Z
zengyawen 已提交
396
获取指定音量流是否被静音,使用callback方式返回异步结果。
397

Z
zengyawen 已提交
398 399
**系统能力:** SystemCapability.Multimedia.Audio.Volume

Z
zengyawen 已提交
400
**参数:**
401

Z
zengyawen 已提交
402 403 404 405
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调返回流静音状态,true为静音,false为非静音。 |
406 407 408 409

**示例:**

```
Z
zengyawen 已提交
410
var audioManager = audio.getAudioManager();
411
audioManager.isMute(audio.AudioVolumeType.MEDIA, (err, value) => {
M
mamingshuai 已提交
412
   if (err) {
413
	   console.error('Failed to obtain the mute status. ${err.message}');
M
mamingshuai 已提交
414 415
	   return;
   }
416
   console.log('Callback invoked to indicate that the mute status of the stream is obtained.' + value);
Z
zengyawen 已提交
417 418 419
})
```

Z
zengyawen 已提交
420

Z
zengyawen 已提交
421
### isMute
Z
zengyawen 已提交
422 423

isMute(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
Z
zengyawen 已提交
424

425
获取指定音量流是否被静音,使用promise方式返回异步结果。
Z
zengyawen 已提交
426

Z
zengyawen 已提交
427 428
**系统能力:** SystemCapability.Multimedia.Audio.Volume

Z
zengyawen 已提交
429 430
**参数:**

Z
zengyawen 已提交
431 432 433
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
Z
zengyawen 已提交
434 435 436

**返回值:**

Z
zengyawen 已提交
437 438 439
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise回调返回流静音状态,true为静音,false为非静音。 |
M
mamingshuai 已提交
440

Z
zengyawen 已提交
441 442 443
**示例:**

```
Z
zengyawen 已提交
444
var audioManager = audio.getAudioManager();
445 446
audioManager.isMute(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promise returned to indicate that the mute status of the stream is obtained.' + value);
Z
zengyawen 已提交
447 448 449
)
```

Z
zengyawen 已提交
450
### isActive
Z
zengyawen 已提交
451 452

isActive(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
453

454 455
获取指定音量流是否为活跃状态,使用callback方式返回异步结果。

Z
zengyawen 已提交
456 457
**系统能力:** SystemCapability.Multimedia.Audio.Volume

458 459
**参数:**

Z
zengyawen 已提交
460 461 462 463
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调返回流的活跃状态,true为活跃,false为不活跃。 |
464 465 466 467

**示例:**

```
Z
zengyawen 已提交
468
var audioManager = audio.getAudioManager();
469 470 471 472 473 474 475 476 477
audioManager.isActive(audio.AudioVolumeType.MEDIA, (err, value) => {
    if (err) {
        console.error('Failed to obtain the active status of the stream. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the active status of the stream is obtained.' + value);
})
```

Z
zengyawen 已提交
478
### isActive
Z
zengyawen 已提交
479 480

isActive(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
481 482 483

获取指定音量流是否为活跃状态,使用promise方式返回异步结果。

Z
zengyawen 已提交
484 485
**系统能力:** SystemCapability.Multimedia.Audio.Volume

486 487
**参数:**

Z
zengyawen 已提交
488 489 490
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
491 492 493

**返回值:**

Z
zengyawen 已提交
494 495 496
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise回调返回流的活跃状态,true为活跃,false为不活跃。 |
Z
zengyawen 已提交
497

498 499 500
**示例:**

```
Z
zengyawen 已提交
501
var audioManager = audio.getAudioManager();
502 503 504 505 506
audioManager.isActive(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promise returned to indicate that the active status of the stream is obtained.' + value);
)
```

Z
zengyawen 已提交
507
### setRingerMode
Z
zengyawen 已提交
508 509

setRingerMode(mode: AudioRingMode, callback: AsyncCallback&lt;void&gt;): void
510 511 512

设置铃声模式,使用callback方式返回异步结果。

Z
zengyawen 已提交
513 514
**系统能力:** SystemCapability.Multimedia.Audio.Communication

515 516
**参数:**

Z
zengyawen 已提交
517 518 519 520
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mode | [AudioRingMode](#audioringmode) | 是 | 音频铃声模式。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回设置成功或失败。 |
521 522 523 524

**示例:**

```
Z
zengyawen 已提交
525
var audioManager = audio.getAudioManager();
526 527 528 529 530 531 532 533 534
audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err) => {
   if (err) {
       console.error('Failed to set the ringer mode.​ ${err.message}');
       return;
    }
    console.log('Callback invoked to indicate a successful setting of the ringer mode.');
})
```

Z
zengyawen 已提交
535
### setRingerMode
Z
zengyawen 已提交
536 537

setRingerMode(mode: AudioRingMode): Promise&lt;void&gt;
538 539 540

设置铃声模式,使用promise方式返回异步结果。

Z
zengyawen 已提交
541 542
**系统能力:** SystemCapability.Multimedia.Audio.Communication

543 544
**参数:**

Z
zengyawen 已提交
545 546 547
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mode | [AudioRingMode](#audioringmode) | 是 | 音频铃声模式。 |
548 549 550

**返回值:**

Z
zengyawen 已提交
551 552 553
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise回调返回设置成功或失败。 |
554 555 556 557

**示例:**

```
Z
zengyawen 已提交
558
var audioManager = audio.getAudioManager();
559 560 561 562 563 564
audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() =>
    console.log('Promise returned to indicate a successful setting of the ringer mode.');
)
```


Z
zengyawen 已提交
565
### getRingerMode
566

Z
zengyawen 已提交
567
getRingerMode(callback: AsyncCallback&lt;AudioRingMode&gt;): void
568

Z
zengyawen 已提交
569
获取铃声模式,使用callback方式返回异步结果。
570

Z
zengyawen 已提交
571 572
**系统能力:** SystemCapability.Multimedia.Audio.Communication

Z
zengyawen 已提交
573
**参数:**
574

Z
zengyawen 已提交
575 576 577
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;[AudioRingMode](#audioringmode)&gt; | 是 | 回调返回系统的铃声模式。 |
578 579 580 581

**示例:**

```
Z
zengyawen 已提交
582
var audioManager = audio.getAudioManager();
583 584 585 586 587 588 589 590 591 592
audioManager.getRingerMode((err, value) => {
   if (err) {
	   console.error('Failed to obtain the ringer mode.​ ${err.message}');
	   return;
   }
   console.log('Callback invoked to indicate that the ringer mode is obtained.' + value);
})
```


Z
zengyawen 已提交
593
### getRingerMode
594

Z
zengyawen 已提交
595
getRingerMode(): Promise&lt;AudioRingMode&gt;
596

Z
zengyawen 已提交
597
获取铃声模式,使用promise方式返回异步结果。
598

Z
zengyawen 已提交
599 600
**系统能力:** SystemCapability.Multimedia.Audio.Communication

601 602
**返回值:**

Z
zengyawen 已提交
603 604
| 类型 | 说明 |
| -------- | -------- |
605
| Promise&lt;[AudioRingMode](#audioringmode)&gt; | Promise回调返回系统的铃声模式。 |
606 607 608 609

**示例:**

```
Z
zengyawen 已提交
610
var audioManager = audio.getAudioManager();
611 612 613 614 615
audioManager.getRingerMode().then((value) =>
    console.log('Promise returned to indicate that the ringer mode is obtained.' + value);
)
```

Z
zengyawen 已提交
616
### setAudioParameter
Z
zengyawen 已提交
617 618

setAudioParameter(key: string, value: string, callback: AsyncCallback&lt;void&gt;): void
619 620 621

音频参数设置,使用callback方式返回异步结果。

Z
zengyawen 已提交
622 623
**系统能力:** SystemCapability.Multimedia.Audio.Core

624 625
**参数:**

Z
zengyawen 已提交
626 627 628 629 630
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 被设置的音频参数的键。 |
| value | string | 是 | 被设置的音频参数的值。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回设置成功或失败。 |
631 632 633 634

**示例:**

```
Z
zengyawen 已提交
635
var audioManager = audio.getAudioManager();
636 637 638 639 640 641 642 643 644
audioManager.setAudioParameter('PBits per sample', '8 bit', (err) => {
    if (err) {
        console.error('Failed to set the audio parameter. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate a successful setting of the audio parameter.');
})
```

Z
zengyawen 已提交
645
### setAudioParameter
Z
zengyawen 已提交
646 647

setAudioParameter(key: string, value: string): Promise&lt;void&gt;
648 649 650

音频参数设置,使用promise方式返回异步结果。

Z
zengyawen 已提交
651 652
**系统能力:** SystemCapability.Multimedia.Audio.Core

653 654
**参数:**

Z
zengyawen 已提交
655 656 657 658
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 被设置的音频参数的键。 |
| value | string | 是 | 被设置的音频参数的值。 |
659 660 661

**返回值:**

Z
zengyawen 已提交
662 663 664
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise回调返回设置成功或失败。 |
665 666 667 668

**示例:**

```
Z
zengyawen 已提交
669
var audioManager = audio.getAudioManager();
670 671 672 673 674
audioManager.setAudioParameter('PBits per sample', '8 bit').then(() =>
    console.log('Promise returned to indicate a successful setting of the audio parameter.');
)
```

Z
zengyawen 已提交
675
### getAudioParameter
Z
zengyawen 已提交
676 677

getAudioParameter(key: string, callback: AsyncCallback&lt;string&gt;): void
678 679 680

获取指定音频参数值,使用callback方式返回异步结果。

Z
zengyawen 已提交
681 682
**系统能力:** SystemCapability.Multimedia.Audio.Core

683 684
**参数:**

Z
zengyawen 已提交
685 686 687 688
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 待获取的音频参数的键。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调返回获取的音频参数的值。 |
689 690 691 692

**示例:**

```
Z
zengyawen 已提交
693
var audioManager = audio.getAudioManager();
694 695 696 697 698 699 700 701 702
audioManager.getAudioParameter('PBits per sample', (err, value) => {
    if (err) {
        console.error('Failed to obtain the value of the audio parameter. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the value of the audio parameter is obtained.' + value);
})
```

Z
zengyawen 已提交
703
### getAudioParameter
Z
zengyawen 已提交
704 705

getAudioParameter(key: string): Promise&lt;string&gt;
706 707 708

获取指定音频参数值,使用promise方式返回异步结果。

Z
zengyawen 已提交
709 710
**系统能力:** SystemCapability.Multimedia.Audio.Core

711 712
**参数:**

Z
zengyawen 已提交
713 714 715
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 待获取的音频参数的键。 |
716 717 718

**返回值:**

Z
zengyawen 已提交
719 720 721
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;string&gt; | Promise回调返回获取的音频参数的值。 |
722 723 724 725

**示例:**

```
Z
zengyawen 已提交
726
var audioManager = audio.getAudioManager();
727 728 729 730 731
audioManager.getAudioParameter('PBits per sample').then((value) =>
    console.log('Promise returned to indicate that the value of the audio parameter is obtained.' + value);
)
```

Z
zengyawen 已提交
732 733 734
### getDevices

getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback&lt;AudioDeviceDescriptors&gt;): void
735 736 737

获取音频设备列表,使用callback方式返回异步结果。

Z
zengyawen 已提交
738 739
**系统能力:** SystemCapability.Multimedia.Audio.Device

740 741
**参数:**

Z
zengyawen 已提交
742 743 744 745
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceFlag | [DeviceFlag](#deviceflag) | 是 | 设备类型的flag。 |
| callback | AsyncCallback&lt;[AudioDeviceDescriptors](#audiodevicedescriptors)&gt; | 是 | 回调,返回设备列表。 |
746 747 748

**示例:**
```
Z
zengyawen 已提交
749
var audioManager = audio.getAudioManager();
750 751 752 753 754 755 756 757 758
audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err, value)=>{
   if (err) {
	   console.error('Failed to obtain the device list. ${err.message}');
	   return;
   }
   console.log('Callback invoked to indicate that the device list is obtained.');
})
```

Z
zengyawen 已提交
759 760 761
### getDevices

(deviceFlag: DeviceFlag): Promise&lt;AudioDeviceDescriptors&gt;
762 763 764

获取音频设备列表,使用promise方式返回异步结果。

Z
zengyawen 已提交
765 766
**系统能力:** SystemCapability.Multimedia.Audio.Device

767 768
**参数:**

Z
zengyawen 已提交
769 770 771
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceFlag | [DeviceFlag](#deviceflag) | 是 | 设备类型的flag。 |
772 773 774

**返回值:**

Z
zengyawen 已提交
775 776 777
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;[AudioDeviceDescriptors](#audiodevicedescriptors)&gt; | Promise回调返回设备列表。 |
778 779 780 781

**示例:**

```
Z
zengyawen 已提交
782
var audioManager = audio.getAudioManager();
783 784 785 786 787
audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data)=>
    console.log('Promise returned to indicate that the device list is obtained.');
)
```

Z
zengyawen 已提交
788
### setDeviceActive
Z
zengyawen 已提交
789 790

setDeviceActive(deviceType: DeviceType, active: boolean, callback: AsyncCallback&lt;void&gt;): void
791 792 793

设置设备激活状态,使用callback方式返回异步结果。

Z
zengyawen 已提交
794 795
**系统能力:** SystemCapability.Multimedia.Audio.Device

796 797
**参数:**

Z
zengyawen 已提交
798 799 800 801 802
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceType | [DeviceType](#devicetype) | 是 | 音频设备类型。 |
| active | boolean | 是 | 设备激活状态。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回设置成功或失败。 |
803 804 805 806

**示例:**

```
Z
zengyawen 已提交
807
var audioManager = audio.getAudioManager();
Z
zengyawen 已提交
808
audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true, (err)=> {
809 810 811 812 813 814 815 816
    if (err) {
        console.error('Failed to set the active status of the device. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the device is set to the active status.');
})
```

Z
zengyawen 已提交
817
### setDeviceActive
Z
zengyawen 已提交
818 819

setDeviceActive(deviceType: DeviceType, active: boolean): Promise&lt;void&gt;
820 821 822

设置设备激活状态,使用promise方式返回异步结果。

Z
zengyawen 已提交
823 824
**系统能力:** SystemCapability.Multimedia.Audio.Device

825 826
**参数:**

Z
zengyawen 已提交
827 828 829 830
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceType | [DeviceType](#devicetype) | 是 | 音频设备类型。 |
| active | boolean | 是 | 设备激活状态。 |
831 832 833

**返回值:**

Z
zengyawen 已提交
834 835 836
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise回调返回设置成功或失败。 |
837 838 839

**示例:**

Z
zengyawen 已提交
840

841
```
Z
zengyawen 已提交
842
var audioManager = audio.getAudioManager();
Z
zengyawen 已提交
843
audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true).then(()=>
844 845 846 847
    console.log('Promise returned to indicate that the device is set to the active status.');
)
```

Z
zengyawen 已提交
848
### isDeviceActive
Z
zengyawen 已提交
849 850

isDeviceActive(deviceType: DeviceType, callback: AsyncCallback&lt;boolean&gt;): void
851

852
获取指定设备的激活状态,使用callback方式返回异步结果。
853

Z
zengyawen 已提交
854 855
**系统能力:** SystemCapability.Multimedia.Audio.Device

856 857
**参数:**

Z
zengyawen 已提交
858 859 860 861
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceType | [DeviceType](#devicetype) | 是 | 音频设备类型。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调返回设备的激活状态。 |
862 863 864 865

**示例:**

```
Z
zengyawen 已提交
866
var audioManager = audio.getAudioManager();
Z
zengyawen 已提交
867
audioManager.isDeviceActive(audio.DeviceType.SPEAKER, (err, value) => {
868 869 870 871 872 873 874 875
    if (err) {
        console.error('Failed to obtain the active status of the device. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the active status of the device is obtained.');
})
```

Z
zengyawen 已提交
876

Z
zengyawen 已提交
877
### isDeviceActive
Z
zengyawen 已提交
878 879

isDeviceActive(deviceType: DeviceType): Promise&lt;boolean&gt;
880

881
获取指定设备的激活状态,使用promise方式返回异步结果。
882

Z
zengyawen 已提交
883 884
**系统能力:** SystemCapability.Multimedia.Audio.Device

885 886
**参数:**

Z
zengyawen 已提交
887 888 889
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceType | [DeviceType](#devicetype) | 是 | 音频设备类型。 |
890 891 892

**返回值:**

Z
zengyawen 已提交
893 894 895
| Type | Description |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise回调返回设备的激活状态。 |
896 897 898 899

**示例:**

```
Z
zengyawen 已提交
900
var audioManager = audio.getAudioManager();
Z
zengyawen 已提交
901
audioManager.isDeviceActive(audio.DeviceType.SPEAKER).then((value) =>
902 903 904 905
    console.log('Promise returned to indicate that the active status of the device is obtained.' + value);
)
```

Z
zengyawen 已提交
906
### setMicrophoneMute
Z
zengyawen 已提交
907 908

setMicrophoneMute(mute: boolean, callback: AsyncCallback&lt;void&gt;): void
909 910 911

设置麦克风静音状态,使用callback方式返回异步结果。

Z
zengyawen 已提交
912 913
**系统能力:** SystemCapability.Multimedia.Audio.Device

914 915
**参数:**

Z
zengyawen 已提交
916 917 918 919
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mute | boolean | 是 | 待设置的静音状态,true为静音,false为非静音。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回设置成功或失败。 |
920 921 922 923

**示例:**

```
Z
zengyawen 已提交
924
var audioManager = audio.getAudioManager();
925 926 927 928 929 930 931 932 933
audioManager.setMicrophoneMute(true, (err) => {
    if (err) {
        console.error('Failed to mute the microphone. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the microphone is muted.');
})
```

Z
zengyawen 已提交
934
### setMicrophoneMute
Z
zengyawen 已提交
935 936

setMicrophoneMute(mute: boolean): Promise&lt;void&gt;
937 938 939

设置麦克风静音状态,使用promise方式返回异步结果。

Z
zengyawen 已提交
940 941
**系统能力:** SystemCapability.Multimedia.Audio.Device

942 943
**参数:**

Z
zengyawen 已提交
944 945 946
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mute | boolean | 是 | 待设置的静音状态,true为静音,false为非静音。 |
947 948 949

**返回值:**

Z
zengyawen 已提交
950 951 952
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise回调返回设置成功或失败。 |
953 954 955 956

**示例:**

```
Z
zengyawen 已提交
957
var audioManager = audio.getAudioManager();
958 959 960 961 962
audioManager.setMicrophoneMute(true).then(() =>
    console.log('Promise returned to indicate that the microphone is muted.');
)
```

Z
zengyawen 已提交
963
### isMicrophoneMute
Z
zengyawen 已提交
964 965

isMicrophoneMute(callback: AsyncCallback&lt;boolean&gt;): void
966 967 968

获取麦克风静音状态,使用callback方式返回异步结果。

Z
zengyawen 已提交
969 970
**系统能力:** SystemCapability.Multimedia.Audio.Device

971 972
**参数:**

Z
zengyawen 已提交
973 974 975
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调返回系统麦克风静音状态,true为静音,false为非静音。 |
976 977 978 979

**示例:**

```
Z
zengyawen 已提交
980
var audioManager = audio.getAudioManager();
981 982 983 984 985 986 987 988 989
audioManager.isMicrophoneMute((err, value) => {
    if (err) {
        console.error('Failed to obtain the mute status of the microphone. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the mute status of the microphone is obtained.' + value);
})
```

Z
zengyawen 已提交
990
### isMicrophoneMute
991

Z
zengyawen 已提交
992
isMicrophoneMute(): Promise&lt;boolean&gt;
993

Z
zengyawen 已提交
994
获取麦克风静音状态,使用promise方式返回异步结果。
995

Z
zengyawen 已提交
996 997
**系统能力:** SystemCapability.Multimedia.Audio.Device

998 999
**返回值:**

Z
zengyawen 已提交
1000 1001 1002
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise回调返回系统麦克风静音状态,true为静音,false为非静音。 |
1003 1004 1005

**示例:**

Z
zengyawen 已提交
1006

1007
```
Z
zengyawen 已提交
1008
var audioManager = audio.getAudioManager();
1009 1010 1011 1012 1013
audioManager.isMicrophoneMute().then((value) =>
    console.log('Promise returned to indicate that the mute status of the microphone is obtained.', + value);
)
```

Z
zengyawen 已提交
1014 1015

## AudioDeviceDescriptor
1016 1017 1018

描述音频设备。

Z
zengyawen 已提交
1019 1020
| 名称 | 参数型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
1021 1022
| deviceRole | [DeviceRole](#devicerole) | 是 | 否 | 设备角色。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
| deviceType | [DeviceType](#devicetype) | 是 | 否 | 设备类型。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |
Z
zengyawen 已提交
1023 1024 1025


## AudioDeviceDescriptors
M
mamingshuai 已提交
1026

Z
zengyawen 已提交
1027 1028
| 名称 | 描述 |
| -------- | -------- |
Z
zengyawen 已提交
1029
| 设备属性数组 | AudioDeviceDescriptor的数组,只读。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Device |