提交 31728d13 编写于 作者: Z zhangkai269

arkts audio 整改

Signed-off-by: Nzhangkai269 <zhangkai269@huawei.com>
上级 c055f716
...@@ -6,52 +6,55 @@ ...@@ -6,52 +6,55 @@
主要包括查询和设置当前音频播放流的音效模式,音效模式包括EFFECT_NONE关闭音效模式和EFFECT_DEFAULT默认音效模式。默认音效模式会根据创建音频流的ContentType和StreamUsage自动加载对应场景的音效。 主要包括查询和设置当前音频播放流的音效模式,音效模式包括EFFECT_NONE关闭音效模式和EFFECT_DEFAULT默认音效模式。默认音效模式会根据创建音频流的ContentType和StreamUsage自动加载对应场景的音效。
### 获取播放实例(示例代码仅支持JS格式) ### 获取播放实例
管理播放实例音效的接口是getAudioEffectMode()查询当前音频播放流的音效模式和setAudioEffectMode(mode: AudioEffectMode)设置当前音频播放流的音效模式,在使用之前,需要使用createAudioRenderer(options: AudioRendererOptions)先创建音频播放流AudioRenderer实例。 管理播放实例音效的接口是getAudioEffectMode()查询当前音频播放流的音效模式和setAudioEffectMode(mode: AudioEffectMode)设置当前音频播放流的音效模式,在使用之前,需要使用createAudioRenderer(options: AudioRendererOptions)先创建音频播放流AudioRenderer实例。
1. 步骤一:导入音频接口。 1. 步骤一:导入音频接口。
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
``` ```
2. 步骤二:配置音频渲染参数并创建AudioRenderer实例,音频渲染参数的详细信息可以查看[AudioRendererOptions](../reference/apis/js-apis-audio.md#audiorendereroptions8),创建AudioRenderer实例时会默认挂载EFFECT_DEFAULT模式音效。 2. 步骤二:配置音频渲染参数并创建AudioRenderer实例,音频渲染参数的详细信息可以查看[AudioRendererOptions](../reference/apis/js-apis-audio.md#audiorendereroptions8),创建AudioRenderer实例时会默认挂载EFFECT_DEFAULT模式音效。
```js ```ts
let audioStreamInfo = { import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
channels: audio.AudioChannel.CHANNEL_1, channels: audio.AudioChannel.CHANNEL_1,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
}; };
let audioRendererInfo = { let audioRendererInfo: audio.AudioRendererInfo = {
content: audio.ContentType.CONTENT_TYPE_SPEECH, content: audio.ContentType.CONTENT_TYPE_SPEECH,
usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION, usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,
rendererFlags: 0 rendererFlags: 0
}; };
let audioRendererOptions = { let audioRendererOptions: audio.AudioRendererOptions = {
streamInfo: audioStreamInfo, streamInfo: audioStreamInfo,
rendererInfo: audioRendererInfo rendererInfo: audioRendererInfo
}; };
audio.createAudioRenderer(audioRendererOptions, (err, data) => { audio.createAudioRenderer(audioRendererOptions, (err: BusinessError, data: audio.AudioRenderer) => {
if (err) { if (err) {
console.error(`Invoke createAudioRenderer failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke createAudioRenderer failed, code is ${err.code}, message is ${err.message}`);
return; return;
} else { } else {
console.info('Invoke createAudioRenderer succeeded.'); console.info('Invoke createAudioRenderer succeeded.');
let audioRenderer = data; let audioRenderer: audio.AudioRenderer = data;
} }
}); });
``` ```
### 查询当前播放实例的音效模式(示例代码仅支持JS格式) ### 查询当前播放实例的音效模式
```js ```ts
audioRenderer.getAudioEffectMode((err, effectmode) => { import { BusinessError } from '@ohos.base';
audioRenderer.getAudioEffectMode((err: BusinessError, effectmode: audio.AudioEffectMode) => {
if (err) { if (err) {
console.error(`Failed to get params, code is ${err.code}, message is ${err.message}`); console.error(`Failed to get params, code is ${err.code}, message is ${err.message}`);
return; return;
...@@ -61,12 +64,13 @@ ...@@ -61,12 +64,13 @@
}); });
``` ```
### 设置当前播放实例的音效模式(示例代码仅支持JS格式) ### 设置当前播放实例的音效模式
关闭系统音效: 关闭系统音效:
```js ```ts
audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_NONE, (err) => { import { BusinessError } from '@ohos.base';
audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_NONE, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set params, code is ${err.code}, message is ${err.message}`); console.error(`Failed to set params, code is ${err.code}, message is ${err.message}`);
return; return;
...@@ -78,8 +82,9 @@ ...@@ -78,8 +82,9 @@
开启系统音效默认模式: 开启系统音效默认模式:
```js ```ts
audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT, (err) => { import { BusinessError } from '@ohos.base';
audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set params, code is ${err.code}, message is ${err.message}`); console.error(`Failed to set params, code is ${err.code}, message is ${err.message}`);
return; return;
...@@ -94,20 +99,21 @@ ...@@ -94,20 +99,21 @@
主要包括全局音效查询相应StreamUsage对应场景的音效模式。 主要包括全局音效查询相应StreamUsage对应场景的音效模式。
对于播放音频类的应用,开发者需要关注该应用的音频流使用什么音效模式并做出相应的操作,比如音乐App播放时,应选择音乐场景下的模式。在使用查询接口前,开发者需要使用getStreamManager()创建一个AudioStreamManager音频流管理实例。 对于播放音频类的应用,开发者需要关注该应用的音频流使用什么音效模式并做出相应的操作,比如音乐App播放时,应选择音乐场景下的模式。在使用查询接口前,开发者需要使用getStreamManager()创建一个AudioStreamManager音频流管理实例。
### 获取音频流管理接口(示例代码仅支持JS格式) ### 获取音频流管理接口
1.创建AudioStreamManager实例。在使用AudioStreamManager的API前,需要使用getStreamManager()创建一个AudioStreamManager实例。 1.创建AudioStreamManager实例。在使用AudioStreamManager的API前,需要使用getStreamManager()创建一个AudioStreamManager实例。
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
let audioManager = audio.getAudioManager(); let audioManager = audio.getAudioManager();
let audioStreamManager = audioManager.getStreamManager(); let audioStreamManager = audioManager.getStreamManager();
``` ```
### 查询对应场景的音效模式(示例代码仅支持JS格式) ### 查询对应场景的音效模式
```js ```ts
audioStreamManager.getAudioEffectInfoArray(audio.StreamUsage.STREAM_USAGE_MEDIA, async (err, audioEffectInfoArray) => { import { BusinessError } from '@ohos.base';
audioStreamManager.getAudioEffectInfoArray(audio.StreamUsage.STREAM_USAGE_MEDIA, async (err: BusinessError, audioEffectInfoArray: audio.AudioEffectInfoArray) => {
if (err) { if (err) {
console.error('Failed to get effect info array'); console.error('Failed to get effect info array');
return; return;
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
## 导入模块 ## 导入模块
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
``` ```
...@@ -28,7 +28,7 @@ import audio from '@ohos.multimedia.audio'; ...@@ -28,7 +28,7 @@ import audio from '@ohos.multimedia.audio';
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
const localNetworkId = audio.LOCAL_NETWORK_ID; const localNetworkId = audio.LOCAL_NETWORK_ID;
...@@ -51,8 +51,8 @@ getAudioManager(): AudioManager ...@@ -51,8 +51,8 @@ getAudioManager(): AudioManager
| [AudioManager](#audiomanager) | 音频管理类。 | | [AudioManager](#audiomanager) | 音频管理类。 |
**示例:** **示例:**
```js ```ts
let audioManager = audio.getAudioManager(); let audioManager: audio.AudioManager = audio.getAudioManager();
``` ```
## audio.createAudioRenderer<sup>8+</sup> ## audio.createAudioRenderer<sup>8+</sup>
...@@ -72,24 +72,24 @@ createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback\<Audi ...@@ -72,24 +72,24 @@ createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback\<Audi
**示例:** **示例:**
```js ```ts
import fs from '@ohos.file.fs'; import fs from '@ohos.file.fs';
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
let audioStreamInfo = { let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
channels: audio.AudioChannel.CHANNEL_1, channels: audio.AudioChannel.CHANNEL_1,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
} }
let audioRendererInfo = { let audioRendererInfo: audio.AudioRendererInfo = {
content: audio.ContentType.CONTENT_TYPE_SPEECH, content: audio.ContentType.CONTENT_TYPE_SPEECH,
usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION, usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,
rendererFlags: 0 rendererFlags: 0
} }
let audioRendererOptions = { let audioRendererOptions: audio.AudioRendererOptions = {
streamInfo: audioStreamInfo, streamInfo: audioStreamInfo,
rendererInfo: audioRendererInfo rendererInfo: audioRendererInfo
} }
...@@ -126,33 +126,34 @@ createAudioRenderer(options: AudioRendererOptions): Promise<AudioRenderer\> ...@@ -126,33 +126,34 @@ createAudioRenderer(options: AudioRendererOptions): Promise<AudioRenderer\>
**示例:** **示例:**
```js ```ts
import fs from '@ohos.file.fs'; import fs from '@ohos.file.fs';
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let audioStreamInfo = { let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
channels: audio.AudioChannel.CHANNEL_1, channels: audio.AudioChannel.CHANNEL_1,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
} }
let audioRendererInfo = { let audioRendererInfo: audio.AudioRendererInfo = {
content: audio.ContentType.CONTENT_TYPE_SPEECH, content: audio.ContentType.CONTENT_TYPE_SPEECH,
usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION, usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,
rendererFlags: 0 rendererFlags: 0
} }
let audioRendererOptions = { let audioRendererOptions: audio.AudioRendererOptions = {
streamInfo: audioStreamInfo, streamInfo: audioStreamInfo,
rendererInfo: audioRendererInfo rendererInfo: audioRendererInfo
} }
let audioRenderer; let audioRenderer: audio.AudioRenderer;
audio.createAudioRenderer(audioRendererOptions).then((data) => { audio.createAudioRenderer(audioRendererOptions).then((data) => {
audioRenderer = data; audioRenderer = data;
console.info('AudioFrameworkRenderLog: AudioRenderer Created : Success : Stream Type: SUCCESS'); console.info('AudioFrameworkRenderLog: AudioRenderer Created : Success : Stream Type: SUCCESS');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioFrameworkRenderLog: AudioRenderer Created : ERROR : ${err}`); console.error(`AudioFrameworkRenderLog: AudioRenderer Created : ERROR : ${err}`);
}); });
``` ```
...@@ -176,21 +177,21 @@ createAudioCapturer(options: AudioCapturerOptions, callback: AsyncCallback<Audio ...@@ -176,21 +177,21 @@ createAudioCapturer(options: AudioCapturerOptions, callback: AsyncCallback<Audio
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
let audioStreamInfo = { let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
channels: audio.AudioChannel.CHANNEL_2, channels: audio.AudioChannel.CHANNEL_2,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
} }
let audioCapturerInfo = { let audioCapturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC, source: audio.SourceType.SOURCE_TYPE_MIC,
capturerFlags: 0 capturerFlags: 0
} }
let audioCapturerOptions = { let audioCapturerOptions: audio.AudioCapturerOptions = {
streamInfo: audioStreamInfo, streamInfo: audioStreamInfo,
capturerInfo: audioCapturerInfo capturerInfo: audioCapturerInfo
} }
...@@ -229,31 +230,32 @@ createAudioCapturer(options: AudioCapturerOptions): Promise<AudioCapturer\> ...@@ -229,31 +230,32 @@ createAudioCapturer(options: AudioCapturerOptions): Promise<AudioCapturer\>
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let audioStreamInfo = { let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
channels: audio.AudioChannel.CHANNEL_2, channels: audio.AudioChannel.CHANNEL_2,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
} }
let audioCapturerInfo = { let audioCapturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC, source: audio.SourceType.SOURCE_TYPE_MIC,
capturerFlags: 0 capturerFlags: 0
} }
let audioCapturerOptions = { let audioCapturerOptions:audio.AudioCapturerOptions = {
streamInfo: audioStreamInfo, streamInfo: audioStreamInfo,
capturerInfo: audioCapturerInfo capturerInfo: audioCapturerInfo
} }
let audioCapturer; let audioCapturer: audio.AudioCapturer;
audio.createAudioCapturer(audioCapturerOptions).then((data) => { audio.createAudioCapturer(audioCapturerOptions).then((data) => {
audioCapturer = data; audioCapturer = data;
console.info('AudioCapturer Created : Success : Stream Type: SUCCESS'); console.info('AudioCapturer Created : Success : Stream Type: SUCCESS');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioCapturer Created : ERROR : ${err}`); console.error(`AudioCapturer Created : ERROR : ${err}`);
}); });
``` ```
...@@ -277,15 +279,15 @@ createTonePlayer(options: AudioRendererInfo, callback: AsyncCallback&lt;TonePlay ...@@ -277,15 +279,15 @@ createTonePlayer(options: AudioRendererInfo, callback: AsyncCallback&lt;TonePlay
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
let audioRendererInfo = { let audioRendererInfo: audio.AudioRendererInfo = {
content : audio.ContentType.CONTENT_TYPE_SONIFICATION, content : audio.ContentType.CONTENT_TYPE_SONIFICATION,
usage : audio.StreamUsage.STREAM_USAGE_MEDIA, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
rendererFlags : 0 rendererFlags : 0
} }
let tonePlayer; let tonePlayer: audio.TonePlayer;
audio.createTonePlayer(audioRendererInfo, (err, data) => { audio.createTonePlayer(audioRendererInfo, (err, data) => {
console.info(`callback call createTonePlayer: audioRendererInfo: ${audioRendererInfo}`); console.info(`callback call createTonePlayer: audioRendererInfo: ${audioRendererInfo}`);
...@@ -322,11 +324,11 @@ createTonePlayer(options: AudioRendererInfo): Promise&lt;TonePlayer&gt; ...@@ -322,11 +324,11 @@ createTonePlayer(options: AudioRendererInfo): Promise&lt;TonePlayer&gt;
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
let tonePlayer; let tonePlayer: audio.TonePlayer;
async function createTonePlayerBefore(){ async function createTonePlayerBefore(){
let audioRendererInfo = { let audioRendererInfo: audio.AudioRendererInfo = {
content : audio.ContentType.CONTENT_TYPE_SONIFICATION, content : audio.ContentType.CONTENT_TYPE_SONIFICATION,
usage : audio.StreamUsage.STREAM_USAGE_MEDIA, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
rendererFlags : 0 rendererFlags : 0
...@@ -910,8 +912,9 @@ setAudioParameter(key: string, value: string, callback: AsyncCallback&lt;void&gt ...@@ -910,8 +912,9 @@ setAudioParameter(key: string, value: string, callback: AsyncCallback&lt;void&gt
**示例:** **示例:**
```js ```ts
audioManager.setAudioParameter('key_example', 'value_example', (err) => { import { BusinessError } from '@ohos.base';
audioManager.setAudioParameter('key_example', 'value_example', (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the audio parameter. ${err}`); console.error(`Failed to set the audio parameter. ${err}`);
return; return;
...@@ -947,7 +950,7 @@ setAudioParameter(key: string, value: string): Promise&lt;void&gt; ...@@ -947,7 +950,7 @@ setAudioParameter(key: string, value: string): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioManager.setAudioParameter('key_example', 'value_example').then(() => { audioManager.setAudioParameter('key_example', 'value_example').then(() => {
console.info('Promise returned to indicate a successful setting of the audio parameter.'); console.info('Promise returned to indicate a successful setting of the audio parameter.');
}); });
...@@ -972,8 +975,9 @@ getAudioParameter(key: string, callback: AsyncCallback&lt;string&gt;): void ...@@ -972,8 +975,9 @@ getAudioParameter(key: string, callback: AsyncCallback&lt;string&gt;): void
**示例:** **示例:**
```js ```ts
audioManager.getAudioParameter('key_example', (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.getAudioParameter('key_example', (err: BusinessError, value: string) => {
if (err) { if (err) {
console.error(`Failed to obtain the value of the audio parameter. ${err}`); console.error(`Failed to obtain the value of the audio parameter. ${err}`);
return; return;
...@@ -1006,8 +1010,8 @@ getAudioParameter(key: string): Promise&lt;string&gt; ...@@ -1006,8 +1010,8 @@ getAudioParameter(key: string): Promise&lt;string&gt;
**示例:** **示例:**
```js ```ts
audioManager.getAudioParameter('key_example').then((value) => { audioManager.getAudioParameter('key_example').then((value: string) => {
console.info(`Promise returned to indicate that the value of the audio parameter is obtained ${value}.`); console.info(`Promise returned to indicate that the value of the audio parameter is obtained ${value}.`);
}); });
``` ```
...@@ -1031,8 +1035,9 @@ setAudioScene\(scene: AudioScene, callback: AsyncCallback<void\>\): void ...@@ -1031,8 +1035,9 @@ setAudioScene\(scene: AudioScene, callback: AsyncCallback<void\>\): void
**示例:** **示例:**
```js ```ts
audioManager.setAudioScene(audio.AudioScene.AUDIO_SCENE_PHONE_CALL, (err) => { import { BusinessError } from '@ohos.base';
audioManager.setAudioScene(audio.AudioScene.AUDIO_SCENE_PHONE_CALL, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the audio scene mode.​ ${err}`); console.error(`Failed to set the audio scene mode.​ ${err}`);
return; return;
...@@ -1065,10 +1070,11 @@ setAudioScene\(scene: AudioScene\): Promise<void\> ...@@ -1065,10 +1070,11 @@ setAudioScene\(scene: AudioScene\): Promise<void\>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioManager.setAudioScene(audio.AudioScene.AUDIO_SCENE_PHONE_CALL).then(() => { audioManager.setAudioScene(audio.AudioScene.AUDIO_SCENE_PHONE_CALL).then(() => {
console.info('Promise returned to indicate a successful setting of the audio scene mode.'); console.info('Promise returned to indicate a successful setting of the audio scene mode.');
}).catch ((err) => { }).catch ((err: BusinessError) => {
console.error(`Failed to set the audio scene mode ${err}`); console.error(`Failed to set the audio scene mode ${err}`);
}); });
``` ```
...@@ -1089,8 +1095,9 @@ getAudioScene\(callback: AsyncCallback<AudioScene\>\): void ...@@ -1089,8 +1095,9 @@ getAudioScene\(callback: AsyncCallback<AudioScene\>\): void
**示例:** **示例:**
```js ```ts
audioManager.getAudioScene((err, value) => { import { BusinessError } from '@ohos.base';
audioManager.getAudioScene((err: BusinessError, value: audio.AudioScene) => {
if (err) { if (err) {
console.error(`Failed to obtain the audio scene mode.​ ${err}`); console.error(`Failed to obtain the audio scene mode.​ ${err}`);
return; return;
...@@ -1115,10 +1122,11 @@ getAudioScene\(\): Promise<AudioScene\> ...@@ -1115,10 +1122,11 @@ getAudioScene\(\): Promise<AudioScene\>
**示例:** **示例:**
```js ```ts
audioManager.getAudioScene().then((value) => { import { BusinessError } from '@ohos.base';
audioManager.getAudioScene().then((value: audio.AudioScene) => {
console.info(`Promise returned to indicate that the audio scene mode is obtained ${value}.`); console.info(`Promise returned to indicate that the audio scene mode is obtained ${value}.`);
}).catch ((err) => { }).catch ((err: BusinessError) => {
console.error(`Failed to obtain the audio scene mode ${err}`); console.error(`Failed to obtain the audio scene mode ${err}`);
}); });
``` ```
...@@ -1133,8 +1141,8 @@ getVolumeManager(): AudioVolumeManager ...@@ -1133,8 +1141,8 @@ getVolumeManager(): AudioVolumeManager
**示例:** **示例:**
```js ```ts
let audioVolumeManager = audioManager.getVolumeManager(); let audioVolumeManager: audio.AudioVolumeManager = audioManager.getVolumeManager();
``` ```
### getStreamManager<sup>9+</sup> ### getStreamManager<sup>9+</sup>
...@@ -1147,8 +1155,8 @@ getStreamManager(): AudioStreamManager ...@@ -1147,8 +1155,8 @@ getStreamManager(): AudioStreamManager
**示例:** **示例:**
```js ```ts
let audioStreamManager = audioManager.getStreamManager(); let audioStreamManager: audio.AudioStreamManager = audioManager.getStreamManager();
``` ```
### getRoutingManager<sup>9+</sup> ### getRoutingManager<sup>9+</sup>
...@@ -1161,8 +1169,8 @@ getRoutingManager(): AudioRoutingManager ...@@ -1161,8 +1169,8 @@ getRoutingManager(): AudioRoutingManager
**示例:** **示例:**
```js ```ts
let audioRoutingManager = audioManager.getRoutingManager(); let audioRoutingManager: audio.AudioRoutingManager = audioManager.getRoutingManager();
``` ```
### setVolume<sup>(deprecated)</sup> ### setVolume<sup>(deprecated)</sup>
...@@ -1190,8 +1198,9 @@ setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback&l ...@@ -1190,8 +1198,9 @@ setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback&l
**示例:** **示例:**
```js ```ts
audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err) => { import { BusinessError } from '@ohos.base';
audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the volume. ${err}`); console.error(`Failed to set the volume. ${err}`);
return; return;
...@@ -1230,7 +1239,7 @@ setVolume(volumeType: AudioVolumeType, volume: number): Promise&lt;void&gt; ...@@ -1230,7 +1239,7 @@ setVolume(volumeType: AudioVolumeType, volume: number): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(() => { audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(() => {
console.info('Promise returned to indicate a successful volume setting.'); console.info('Promise returned to indicate a successful volume setting.');
}); });
...@@ -1256,8 +1265,9 @@ getVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): v ...@@ -1256,8 +1265,9 @@ getVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): v
**示例:** **示例:**
```js ```ts
audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) { if (err) {
console.error(`Failed to obtain the volume. ${err}`); console.error(`Failed to obtain the volume. ${err}`);
return; return;
...@@ -1291,8 +1301,8 @@ getVolume(volumeType: AudioVolumeType): Promise&lt;number&gt; ...@@ -1291,8 +1301,8 @@ getVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((value) => { audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
console.info(`Promise returned to indicate that the volume is obtained ${value} .`); console.info(`Promise returned to indicate that the volume is obtained ${value} .`);
}); });
``` ```
...@@ -1317,8 +1327,9 @@ getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;) ...@@ -1317,8 +1327,9 @@ getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;)
**示例:** **示例:**
```js ```ts
audioManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) { if (err) {
console.error(`Failed to obtain the minimum volume. ${err}`); console.error(`Failed to obtain the minimum volume. ${err}`);
return; return;
...@@ -1352,8 +1363,8 @@ getMinVolume(volumeType: AudioVolumeType): Promise&lt;number&gt; ...@@ -1352,8 +1363,8 @@ getMinVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value) => { audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
console.info(`Promised returned to indicate that the minimum volume is obtained. ${value}`); console.info(`Promised returned to indicate that the minimum volume is obtained. ${value}`);
}); });
``` ```
...@@ -1378,8 +1389,9 @@ getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;) ...@@ -1378,8 +1389,9 @@ getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;)
**示例:** **示例:**
```js ```ts
audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) { if (err) {
console.error(`Failed to obtain the maximum volume. ${err}`); console.error(`Failed to obtain the maximum volume. ${err}`);
return; return;
...@@ -1413,8 +1425,8 @@ getMaxVolume(volumeType: AudioVolumeType): Promise&lt;number&gt; ...@@ -1413,8 +1425,8 @@ getMaxVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data) => { audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data: number) => {
console.info('Promised returned to indicate that the maximum volume is obtained.'); console.info('Promised returned to indicate that the maximum volume is obtained.');
}); });
``` ```
...@@ -1440,8 +1452,9 @@ mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback&lt;void ...@@ -1440,8 +1452,9 @@ mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback&lt;void
**示例:** **示例:**
```js ```ts
audioManager.mute(audio.AudioVolumeType.MEDIA, true, (err) => { import { BusinessError } from '@ohos.base';
audioManager.mute(audio.AudioVolumeType.MEDIA, true, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to mute the stream. ${err}`); console.error(`Failed to mute the stream. ${err}`);
return; return;
...@@ -1477,7 +1490,7 @@ mute(volumeType: AudioVolumeType, mute: boolean): Promise&lt;void&gt; ...@@ -1477,7 +1490,7 @@ mute(volumeType: AudioVolumeType, mute: boolean): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioManager.mute(audio.AudioVolumeType.MEDIA, true).then(() => { audioManager.mute(audio.AudioVolumeType.MEDIA, true).then(() => {
console.info('Promise returned to indicate that the stream is muted.'); console.info('Promise returned to indicate that the stream is muted.');
}); });
...@@ -1503,8 +1516,9 @@ isMute(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): voi ...@@ -1503,8 +1516,9 @@ isMute(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): voi
**示例:** **示例:**
```js ```ts
audioManager.isMute(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.isMute(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => {
if (err) { if (err) {
console.error(`Failed to obtain the mute status. ${err}`); console.error(`Failed to obtain the mute status. ${err}`);
return; return;
...@@ -1538,8 +1552,8 @@ isMute(volumeType: AudioVolumeType): Promise&lt;boolean&gt; ...@@ -1538,8 +1552,8 @@ isMute(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```ts
audioManager.isMute(audio.AudioVolumeType.MEDIA).then((value) => { audioManager.isMute(audio.AudioVolumeType.MEDIA).then((value: boolean) => {
console.info(`Promise returned to indicate that the mute status of the stream is obtained ${value}.`); console.info(`Promise returned to indicate that the mute status of the stream is obtained ${value}.`);
}); });
``` ```
...@@ -1564,8 +1578,9 @@ isActive(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): v ...@@ -1564,8 +1578,9 @@ isActive(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): v
**示例:** **示例:**
```js ```ts
audioManager.isActive(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.isActive(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => {
if (err) { if (err) {
console.error(`Failed to obtain the active status of the stream. ${err}`); console.error(`Failed to obtain the active status of the stream. ${err}`);
return; return;
...@@ -1599,8 +1614,8 @@ isActive(volumeType: AudioVolumeType): Promise&lt;boolean&gt; ...@@ -1599,8 +1614,8 @@ isActive(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```ts
audioManager.isActive(audio.AudioVolumeType.MEDIA).then((value) => { audioManager.isActive(audio.AudioVolumeType.MEDIA).then((value: boolean) => {
console.info(`Promise returned to indicate that the active status of the stream is obtained ${value}.`); console.info(`Promise returned to indicate that the active status of the stream is obtained ${value}.`);
}); });
``` ```
...@@ -1629,8 +1644,9 @@ setRingerMode(mode: AudioRingMode, callback: AsyncCallback&lt;void&gt;): void ...@@ -1629,8 +1644,9 @@ setRingerMode(mode: AudioRingMode, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err) => { import { BusinessError } from '@ohos.base';
audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the ringer mode.​ ${err}`); console.error(`Failed to set the ringer mode.​ ${err}`);
return; return;
...@@ -1669,7 +1685,7 @@ setRingerMode(mode: AudioRingMode): Promise&lt;void&gt; ...@@ -1669,7 +1685,7 @@ setRingerMode(mode: AudioRingMode): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() => { audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() => {
console.info('Promise returned to indicate a successful setting of the ringer mode.'); console.info('Promise returned to indicate a successful setting of the ringer mode.');
}); });
...@@ -1694,8 +1710,9 @@ getRingerMode(callback: AsyncCallback&lt;AudioRingMode&gt;): void ...@@ -1694,8 +1710,9 @@ getRingerMode(callback: AsyncCallback&lt;AudioRingMode&gt;): void
**示例:** **示例:**
```js ```ts
audioManager.getRingerMode((err, value) => { import { BusinessError } from '@ohos.base';
audioManager.getRingerMode((err: BusinessError, value: audio.AudioRingMode) => {
if (err) { if (err) {
console.error(`Failed to obtain the ringer mode.​ ${err}`); console.error(`Failed to obtain the ringer mode.​ ${err}`);
return; return;
...@@ -1723,8 +1740,8 @@ getRingerMode(): Promise&lt;AudioRingMode&gt; ...@@ -1723,8 +1740,8 @@ getRingerMode(): Promise&lt;AudioRingMode&gt;
**示例:** **示例:**
```js ```ts
audioManager.getRingerMode().then((value) => { audioManager.getRingerMode().then((value: audio.AudioRingMode) => {
console.info(`Promise returned to indicate that the ringer mode is obtained ${value}.`); console.info(`Promise returned to indicate that the ringer mode is obtained ${value}.`);
}); });
``` ```
...@@ -1748,8 +1765,9 @@ getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback&lt;AudioDeviceDescrip ...@@ -1748,8 +1765,9 @@ getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback&lt;AudioDeviceDescrip
| callback | AsyncCallback&lt;[AudioDeviceDescriptors](#audiodevicedescriptors)&gt; | 是 | 回调,返回设备列表。 | | callback | AsyncCallback&lt;[AudioDeviceDescriptors](#audiodevicedescriptors)&gt; | 是 | 回调,返回设备列表。 |
**示例:** **示例:**
```js ```ts
audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err: BusinessError, value: audio.AudioDeviceDescriptors) => {
if (err) { if (err) {
console.error(`Failed to obtain the device list. ${err}`); console.error(`Failed to obtain the device list. ${err}`);
return; return;
...@@ -1783,8 +1801,8 @@ getDevices(deviceFlag: DeviceFlag): Promise&lt;AudioDeviceDescriptors&gt; ...@@ -1783,8 +1801,8 @@ getDevices(deviceFlag: DeviceFlag): Promise&lt;AudioDeviceDescriptors&gt;
**示例:** **示例:**
```js ```ts
audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data) => { audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data: audio.AudioDeviceDescriptors) => {
console.info('Promise returned to indicate that the device list is obtained.'); console.info('Promise returned to indicate that the device list is obtained.');
}); });
``` ```
...@@ -1810,8 +1828,9 @@ setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCa ...@@ -1810,8 +1828,9 @@ setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCa
**示例:** **示例:**
```js ```ts
audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true, (err) => { import { BusinessError } from '@ohos.base';
audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the active status of the device. ${err}`); console.error(`Failed to set the active status of the device. ${err}`);
return; return;
...@@ -1847,7 +1866,7 @@ setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise&lt;void& ...@@ -1847,7 +1866,7 @@ setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise&lt;void&
**示例:** **示例:**
```js ```ts
audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true).then(() => { audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true).then(() => {
console.info('Promise returned to indicate that the device is set to the active status.'); console.info('Promise returned to indicate that the device is set to the active status.');
}); });
...@@ -1873,8 +1892,9 @@ isDeviceActive(deviceType: ActiveDeviceType, callback: AsyncCallback&lt;boolean& ...@@ -1873,8 +1892,9 @@ isDeviceActive(deviceType: ActiveDeviceType, callback: AsyncCallback&lt;boolean&
**示例:** **示例:**
```js ```ts
audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER, (err, value) => { import { BusinessError } from '@ohos.base';
audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER, (err: BusinessError, value: boolean) => {
if (err) { if (err) {
console.error(`Failed to obtain the active status of the device. ${err}`); console.error(`Failed to obtain the active status of the device. ${err}`);
return; return;
...@@ -1908,8 +1928,8 @@ isDeviceActive(deviceType: ActiveDeviceType): Promise&lt;boolean&gt; ...@@ -1908,8 +1928,8 @@ isDeviceActive(deviceType: ActiveDeviceType): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```ts
audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER).then((value) => { audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER).then((value: boolean) => {
console.info(`Promise returned to indicate that the active status of the device is obtained ${value}.`); console.info(`Promise returned to indicate that the active status of the device is obtained ${value}.`);
}); });
``` ```
...@@ -1936,8 +1956,9 @@ setMicrophoneMute(mute: boolean, callback: AsyncCallback&lt;void&gt;): void ...@@ -1936,8 +1956,9 @@ setMicrophoneMute(mute: boolean, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
audioManager.setMicrophoneMute(true, (err) => { import { BusinessError } from '@ohos.base';
audioManager.setMicrophoneMute(true, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to mute the microphone. ${err}`); console.error(`Failed to mute the microphone. ${err}`);
return; return;
...@@ -1973,7 +1994,7 @@ setMicrophoneMute(mute: boolean): Promise&lt;void&gt; ...@@ -1973,7 +1994,7 @@ setMicrophoneMute(mute: boolean): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioManager.setMicrophoneMute(true).then(() => { audioManager.setMicrophoneMute(true).then(() => {
console.info('Promise returned to indicate that the microphone is muted.'); console.info('Promise returned to indicate that the microphone is muted.');
}); });
...@@ -2000,8 +2021,9 @@ isMicrophoneMute(callback: AsyncCallback&lt;boolean&gt;): void ...@@ -2000,8 +2021,9 @@ isMicrophoneMute(callback: AsyncCallback&lt;boolean&gt;): void
**示例:** **示例:**
```js ```ts
audioManager.isMicrophoneMute((err, value) => { import { BusinessError } from '@ohos.base';
audioManager.isMicrophoneMute((err: BusinessError, value: boolean) => {
if (err) { if (err) {
console.error(`Failed to obtain the mute status of the microphone. ${err}`); console.error(`Failed to obtain the mute status of the microphone. ${err}`);
return; return;
...@@ -2031,8 +2053,8 @@ isMicrophoneMute(): Promise&lt;boolean&gt; ...@@ -2031,8 +2053,8 @@ isMicrophoneMute(): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```ts
audioManager.isMicrophoneMute().then((value) => { audioManager.isMicrophoneMute().then((value: boolean) => {
console.info(`Promise returned to indicate that the mute status of the microphone is obtained ${value}.`); console.info(`Promise returned to indicate that the mute status of the microphone is obtained ${value}.`);
}); });
``` ```
...@@ -2061,8 +2083,8 @@ on(type: 'volumeChange', callback: Callback\<VolumeEvent>): void ...@@ -2061,8 +2083,8 @@ on(type: 'volumeChange', callback: Callback\<VolumeEvent>): void
**示例:** **示例:**
```js ```ts
audioManager.on('volumeChange', (volumeEvent) => { audioManager.on('volumeChange', (volumeEvent: audio.VolumeEvent) => {
console.info(`VolumeType of stream: ${volumeEvent.volumeType} `); console.info(`VolumeType of stream: ${volumeEvent.volumeType} `);
console.info(`Volume level: ${volumeEvent.volume} `); console.info(`Volume level: ${volumeEvent.volume} `);
console.info(`Whether to updateUI: ${volumeEvent.updateUi} `); console.info(`Whether to updateUI: ${volumeEvent.updateUi} `);
...@@ -2091,8 +2113,8 @@ on(type: 'ringerModeChange', callback: Callback\<AudioRingMode>): void ...@@ -2091,8 +2113,8 @@ on(type: 'ringerModeChange', callback: Callback\<AudioRingMode>): void
**示例:** **示例:**
```js ```ts
audioManager.on('ringerModeChange', (ringerMode) => { audioManager.on('ringerModeChange', (ringerMode: audio.AudioRingMode) => {
console.info(`Updated ringermode: ${ringerMode}`); console.info(`Updated ringermode: ${ringerMode}`);
}); });
``` ```
...@@ -2117,8 +2139,8 @@ on(type: 'deviceChange', callback: Callback<DeviceChangeAction\>): void ...@@ -2117,8 +2139,8 @@ on(type: 'deviceChange', callback: Callback<DeviceChangeAction\>): void
**示例:** **示例:**
```js ```ts
audioManager.on('deviceChange', (deviceChanged) => { audioManager.on('deviceChange', (deviceChanged: audio.DeviceChangeAction) => {
console.info(`device change type : ${deviceChanged.type} `); console.info(`device change type : ${deviceChanged.type} `);
console.info(`device descriptor size : ${deviceChanged.deviceDescriptors.length} `); console.info(`device descriptor size : ${deviceChanged.deviceDescriptors.length} `);
console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceRole} `); console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceRole} `);
...@@ -2146,7 +2168,7 @@ off(type: 'deviceChange', callback?: Callback<DeviceChangeAction\>): void ...@@ -2146,7 +2168,7 @@ off(type: 'deviceChange', callback?: Callback<DeviceChangeAction\>): void
**示例:** **示例:**
```js ```ts
audioManager.off('deviceChange'); audioManager.off('deviceChange');
``` ```
...@@ -2170,13 +2192,14 @@ on(type: 'interrupt', interrupt: AudioInterrupt, callback: Callback\<InterruptAc ...@@ -2170,13 +2192,14 @@ on(type: 'interrupt', interrupt: AudioInterrupt, callback: Callback\<InterruptAc
**示例:** **示例:**
```js ```ts
let interAudioInterrupt = { import audio from '@ohos.multimedia.audio';
let interAudioInterrupt: audio.AudioInterrupt = {
streamUsage:2, streamUsage:2,
contentType:0, contentType:0,
pauseWhenDucked:true pauseWhenDucked:true
}; };
audioManager.on('interrupt', interAudioInterrupt, (InterruptAction) => { audioManager.on('interrupt', interAudioInterrupt, (InterruptAction: audio.InterruptAction) => {
if (InterruptAction.actionType === 0) { if (InterruptAction.actionType === 0) {
console.info('An event to gain the audio focus starts.'); console.info('An event to gain the audio focus starts.');
console.info(`Focus gain event: ${InterruptAction} `); console.info(`Focus gain event: ${InterruptAction} `);
...@@ -2206,13 +2229,14 @@ off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback\<Interrupt ...@@ -2206,13 +2229,14 @@ off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback\<Interrupt
**示例:** **示例:**
```js ```ts
let interAudioInterrupt = { import audio from '@ohos.multimedia.audio';
let interAudioInterrupt: audio.AudioInterrupt = {
streamUsage:2, streamUsage:2,
contentType:0, contentType:0,
pauseWhenDucked:true pauseWhenDucked:true
}; };
audioManager.off('interrupt', interAudioInterrupt, (InterruptAction) => { audioManager.off('interrupt', interAudioInterrupt, (InterruptAction: audio.InterruptAction) => {
if (InterruptAction.actionType === 0) { if (InterruptAction.actionType === 0) {
console.info('An event to release the audio focus starts.'); console.info('An event to release the audio focus starts.');
console.info(`Focus release event: ${InterruptAction} `); console.info(`Focus release event: ${InterruptAction} `);
...@@ -2242,8 +2266,9 @@ getVolumeGroupInfos(networkId: string, callback: AsyncCallback<VolumeGroupInfos\ ...@@ -2242,8 +2266,9 @@ getVolumeGroupInfos(networkId: string, callback: AsyncCallback<VolumeGroupInfos\
| callback | AsyncCallback&lt;[VolumeGroupInfos](#volumegroupinfos9)&gt; | 是 | 回调,返回音量组信息列表。 | | callback | AsyncCallback&lt;[VolumeGroupInfos](#volumegroupinfos9)&gt; | 是 | 回调,返回音量组信息列表。 |
**示例:** **示例:**
```js ```ts
audioVolumeManager.getVolumeGroupInfos(audio.LOCAL_NETWORK_ID, (err, value) => { import { BusinessError } from '@ohos.base';
audioVolumeManager.getVolumeGroupInfos(audio.LOCAL_NETWORK_ID, (err: BusinessError, value: audio.VolumeGroupInfos) => {
if (err) { if (err) {
console.error(`Failed to obtain the volume group infos list. ${err}`); console.error(`Failed to obtain the volume group infos list. ${err}`);
return; return;
...@@ -2276,9 +2301,9 @@ getVolumeGroupInfos(networkId: string\): Promise<VolumeGroupInfos\> ...@@ -2276,9 +2301,9 @@ getVolumeGroupInfos(networkId: string\): Promise<VolumeGroupInfos\>
**示例:** **示例:**
```js ```ts
async function getVolumeGroupInfos(){ async function getVolumeGroupInfos(){
let volumegroupinfos = await audio.getAudioManager().getVolumeManager().getVolumeGroupInfos(audio.LOCAL_NETWORK_ID); let volumegroupinfos: audio.VolumeGroupInfos = await audio.getAudioManager().getVolumeManager().getVolumeGroupInfos(audio.LOCAL_NETWORK_ID);
console.info('Promise returned to indicate that the volumeGroup list is obtained.'+JSON.stringify(volumegroupinfos)) console.info('Promise returned to indicate that the volumeGroup list is obtained.'+JSON.stringify(volumegroupinfos))
} }
``` ```
...@@ -2300,9 +2325,10 @@ getVolumeGroupManager(groupId: number, callback: AsyncCallback<AudioVolumeGroupM ...@@ -2300,9 +2325,10 @@ getVolumeGroupManager(groupId: number, callback: AsyncCallback<AudioVolumeGroupM
**示例:** **示例:**
```js ```ts
let groupid = audio.DEFAULT_VOLUME_GROUP_ID; import { BusinessError } from '@ohos.base';
audioVolumeManager.getVolumeGroupManager(groupid, (err, value) => { let groupid: number = audio.DEFAULT_VOLUME_GROUP_ID;
audioVolumeManager.getVolumeGroupManager(groupid, (err: BusinessError, value: audio.AudioVolumeGroupManager) => {
if (err) { if (err) {
console.error(`Failed to obtain the volume group infos list. ${err}`); console.error(`Failed to obtain the volume group infos list. ${err}`);
return; return;
...@@ -2334,9 +2360,9 @@ getVolumeGroupManager(groupId: number\): Promise<AudioVolumeGroupManager\> ...@@ -2334,9 +2360,9 @@ getVolumeGroupManager(groupId: number\): Promise<AudioVolumeGroupManager\>
**示例:** **示例:**
```js ```ts
let groupid = audio.DEFAULT_VOLUME_GROUP_ID; let groupid: number = audio.DEFAULT_VOLUME_GROUP_ID;
let audioVolumeGroupManager; let audioVolumeGroupManager: audio.AudioVolumeGroupManager;
getVolumeGroupManager(); getVolumeGroupManager();
async function getVolumeGroupManager(){ async function getVolumeGroupManager(){
audioVolumeGroupManager = await audioVolumeManager.getVolumeGroupManager(groupid); audioVolumeGroupManager = await audioVolumeManager.getVolumeGroupManager(groupid);
...@@ -2370,8 +2396,8 @@ on(type: 'volumeChange', callback: Callback\<VolumeEvent>): void ...@@ -2370,8 +2396,8 @@ on(type: 'volumeChange', callback: Callback\<VolumeEvent>): void
**示例:** **示例:**
```js ```ts
audioVolumeManager.on('volumeChange', (volumeEvent) => { audioVolumeManager.on('volumeChange', (volumeEvent: audio.VolumeEvent) => {
console.info(`VolumeType of stream: ${volumeEvent.volumeType} `); console.info(`VolumeType of stream: ${volumeEvent.volumeType} `);
console.info(`Volume level: ${volumeEvent.volume} `); console.info(`Volume level: ${volumeEvent.volume} `);
console.info(`Whether to updateUI: ${volumeEvent.updateUi} `); console.info(`Whether to updateUI: ${volumeEvent.updateUi} `);
...@@ -2406,8 +2432,9 @@ setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback&l ...@@ -2406,8 +2432,9 @@ setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback&l
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the volume. ${err}`); console.error(`Failed to set the volume. ${err}`);
return; return;
...@@ -2445,7 +2472,7 @@ setVolume(volumeType: AudioVolumeType, volume: number): Promise&lt;void&gt; ...@@ -2445,7 +2472,7 @@ setVolume(volumeType: AudioVolumeType, volume: number): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(() => { audioVolumeGroupManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(() => {
console.info('Promise returned to indicate a successful volume setting.'); console.info('Promise returned to indicate a successful volume setting.');
}); });
...@@ -2468,8 +2495,9 @@ getVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): v ...@@ -2468,8 +2495,9 @@ getVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): v
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.getVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) { if (err) {
console.error(`Failed to obtain the volume. ${err}`); console.error(`Failed to obtain the volume. ${err}`);
return; return;
...@@ -2500,8 +2528,8 @@ getVolume(volumeType: AudioVolumeType): Promise&lt;number&gt; ...@@ -2500,8 +2528,8 @@ getVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getVolume(audio.AudioVolumeType.MEDIA).then((value) => { audioVolumeGroupManager.getVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
console.info(`Promise returned to indicate that the volume is obtained ${value}.`); console.info(`Promise returned to indicate that the volume is obtained ${value}.`);
}); });
``` ```
...@@ -2523,8 +2551,9 @@ getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;) ...@@ -2523,8 +2551,9 @@ getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;)
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) { if (err) {
console.error(`Failed to obtain the minimum volume. ${err}`); console.error(`Failed to obtain the minimum volume. ${err}`);
return; return;
...@@ -2555,8 +2584,8 @@ getMinVolume(volumeType: AudioVolumeType): Promise&lt;number&gt; ...@@ -2555,8 +2584,8 @@ getMinVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value) => { audioVolumeGroupManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
console.info(`Promised returned to indicate that the minimum volume is obtained ${value}.`); console.info(`Promised returned to indicate that the minimum volume is obtained ${value}.`);
}); });
``` ```
...@@ -2578,8 +2607,9 @@ getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;) ...@@ -2578,8 +2607,9 @@ getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;)
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) { if (err) {
console.error(`Failed to obtain the maximum volume. ${err}`); console.error(`Failed to obtain the maximum volume. ${err}`);
return; return;
...@@ -2610,8 +2640,8 @@ getMaxVolume(volumeType: AudioVolumeType): Promise&lt;number&gt; ...@@ -2610,8 +2640,8 @@ getMaxVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data) => { audioVolumeGroupManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data: number) => {
console.info('Promised returned to indicate that the maximum volume is obtained.'); console.info('Promised returned to indicate that the maximum volume is obtained.');
}); });
``` ```
...@@ -2640,8 +2670,9 @@ mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback&lt;void ...@@ -2640,8 +2670,9 @@ mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback&lt;void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.mute(audio.AudioVolumeType.MEDIA, true, (err) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.mute(audio.AudioVolumeType.MEDIA, true, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to mute the stream. ${err}`); console.error(`Failed to mute the stream. ${err}`);
return; return;
...@@ -2679,7 +2710,7 @@ mute(volumeType: AudioVolumeType, mute: boolean): Promise&lt;void&gt; ...@@ -2679,7 +2710,7 @@ mute(volumeType: AudioVolumeType, mute: boolean): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.mute(audio.AudioVolumeType.MEDIA, true).then(() => { audioVolumeGroupManager.mute(audio.AudioVolumeType.MEDIA, true).then(() => {
console.info('Promise returned to indicate that the stream is muted.'); console.info('Promise returned to indicate that the stream is muted.');
}); });
...@@ -2702,8 +2733,9 @@ isMute(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): voi ...@@ -2702,8 +2733,9 @@ isMute(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): voi
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.isMute(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.isMute(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => {
if (err) { if (err) {
console.error(`Failed to obtain the mute status. ${err}`); console.error(`Failed to obtain the mute status. ${err}`);
return; return;
...@@ -2734,8 +2766,8 @@ isMute(volumeType: AudioVolumeType): Promise&lt;boolean&gt; ...@@ -2734,8 +2766,8 @@ isMute(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.isMute(audio.AudioVolumeType.MEDIA).then((value) => { audioVolumeGroupManager.isMute(audio.AudioVolumeType.MEDIA).then((value: boolean) => {
console.info(`Promise returned to indicate that the mute status of the stream is obtained ${value}.`); console.info(`Promise returned to indicate that the mute status of the stream is obtained ${value}.`);
}); });
``` ```
...@@ -2763,8 +2795,9 @@ setRingerMode(mode: AudioRingMode, callback: AsyncCallback&lt;void&gt;): void ...@@ -2763,8 +2795,9 @@ setRingerMode(mode: AudioRingMode, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the ringer mode.​ ${err}`); console.error(`Failed to set the ringer mode.​ ${err}`);
return; return;
...@@ -2801,7 +2834,7 @@ setRingerMode(mode: AudioRingMode): Promise&lt;void&gt; ...@@ -2801,7 +2834,7 @@ setRingerMode(mode: AudioRingMode): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() => { audioVolumeGroupManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() => {
console.info('Promise returned to indicate a successful setting of the ringer mode.'); console.info('Promise returned to indicate a successful setting of the ringer mode.');
}); });
...@@ -2823,8 +2856,9 @@ getRingerMode(callback: AsyncCallback&lt;AudioRingMode&gt;): void ...@@ -2823,8 +2856,9 @@ getRingerMode(callback: AsyncCallback&lt;AudioRingMode&gt;): void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getRingerMode((err, value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.getRingerMode((err: BusinessError, value: audio.AudioRingMode) => {
if (err) { if (err) {
console.error(`Failed to obtain the ringer mode.​ ${err}`); console.error(`Failed to obtain the ringer mode.​ ${err}`);
return; return;
...@@ -2849,8 +2883,8 @@ getRingerMode(): Promise&lt;AudioRingMode&gt; ...@@ -2849,8 +2883,8 @@ getRingerMode(): Promise&lt;AudioRingMode&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getRingerMode().then((value) => { audioVolumeGroupManager.getRingerMode().then((value: audio.AudioRingMode) => {
console.info(`Promise returned to indicate that the ringer mode is obtained ${value}.`); console.info(`Promise returned to indicate that the ringer mode is obtained ${value}.`);
}); });
``` ```
...@@ -2880,8 +2914,8 @@ on(type: 'ringerModeChange', callback: Callback\<AudioRingMode>): void ...@@ -2880,8 +2914,8 @@ on(type: 'ringerModeChange', callback: Callback\<AudioRingMode>): void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.on('ringerModeChange', (ringerMode) => { audioVolumeGroupManager.on('ringerModeChange', (ringerMode: audio.AudioRingMode) => {
console.info(`Updated ringermode: ${ringerMode}`); console.info(`Updated ringermode: ${ringerMode}`);
}); });
``` ```
...@@ -2904,8 +2938,9 @@ setMicrophoneMute(mute: boolean, callback: AsyncCallback&lt;void&gt;): void ...@@ -2904,8 +2938,9 @@ setMicrophoneMute(mute: boolean, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.setMicrophoneMute(true, (err) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.setMicrophoneMute(true, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to mute the microphone. ${err}`); console.error(`Failed to mute the microphone. ${err}`);
return; return;
...@@ -2938,7 +2973,7 @@ setMicrophoneMute(mute: boolean): Promise&lt;void&gt; ...@@ -2938,7 +2973,7 @@ setMicrophoneMute(mute: boolean): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.setMicrophoneMute(true).then(() => { audioVolumeGroupManager.setMicrophoneMute(true).then(() => {
console.info('Promise returned to indicate that the microphone is muted.'); console.info('Promise returned to indicate that the microphone is muted.');
}); });
...@@ -2960,8 +2995,9 @@ isMicrophoneMute(callback: AsyncCallback&lt;boolean&gt;): void ...@@ -2960,8 +2995,9 @@ isMicrophoneMute(callback: AsyncCallback&lt;boolean&gt;): void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.isMicrophoneMute((err, value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.isMicrophoneMute((err: BusinessError, value: boolean) => {
if (err) { if (err) {
console.error(`Failed to obtain the mute status of the microphone. ${err}`); console.error(`Failed to obtain the mute status of the microphone. ${err}`);
return; return;
...@@ -2986,8 +3022,8 @@ isMicrophoneMute(): Promise&lt;boolean&gt; ...@@ -2986,8 +3022,8 @@ isMicrophoneMute(): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.isMicrophoneMute().then((value) => { audioVolumeGroupManager.isMicrophoneMute().then((value: boolean) => {
console.info(`Promise returned to indicate that the mute status of the microphone is obtained ${value}.`); console.info(`Promise returned to indicate that the mute status of the microphone is obtained ${value}.`);
}); });
``` ```
...@@ -3019,8 +3055,8 @@ on(type: 'micStateChange', callback: Callback&lt;MicStateChangeEvent&gt;): void ...@@ -3019,8 +3055,8 @@ on(type: 'micStateChange', callback: Callback&lt;MicStateChangeEvent&gt;): void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.on('micStateChange', (micStateChange) => { audioVolumeGroupManager.on('micStateChange', (micStateChange: audio.MicStateChangeEvent) => {
console.info(`Current microphone status is: ${micStateChange.mute} `); console.info(`Current microphone status is: ${micStateChange.mute} `);
}); });
``` ```
...@@ -3041,8 +3077,8 @@ isVolumeUnadjustable(): boolean ...@@ -3041,8 +3077,8 @@ isVolumeUnadjustable(): boolean
**示例:** **示例:**
```js ```ts
let volumeAdjustSwitch = audioVolumeGroupManager.isVolumeUnadjustable(); let volumeAdjustSwitch: boolean = audioVolumeGroupManager.isVolumeUnadjustable();
console.info(`Whether it is volume unadjustable: ${volumeAdjustSwitch}.`); console.info(`Whether it is volume unadjustable: ${volumeAdjustSwitch}.`);
``` ```
...@@ -3078,8 +3114,9 @@ adjustVolumeByStep(adjustType: VolumeAdjustType, callback: AsyncCallback&lt;void ...@@ -3078,8 +3114,9 @@ adjustVolumeByStep(adjustType: VolumeAdjustType, callback: AsyncCallback&lt;void
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.adjustVolumeByStep(audio.VolumeAdjustType.VOLUME_UP, (err) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.adjustVolumeByStep(audio.VolumeAdjustType.VOLUME_UP, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to adjust the volume by step. ${err}`); console.error(`Failed to adjust the volume by step. ${err}`);
return; return;
...@@ -3125,10 +3162,11 @@ adjustVolumeByStep(adjustType: VolumeAdjustType): Promise&lt;void&gt; ...@@ -3125,10 +3162,11 @@ adjustVolumeByStep(adjustType: VolumeAdjustType): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.adjustVolumeByStep(audio.VolumeAdjustType.VOLUME_UP).then((value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.adjustVolumeByStep(audio.VolumeAdjustType.VOLUME_UP).then(() => {
console.info('Success to adjust the volume by step.'); console.info('Success to adjust the volume by step.');
}).catch((error) => { }).catch((error: BusinessError) => {
console.error('Fail to adjust the volume by step.'); console.error('Fail to adjust the volume by step.');
}); });
``` ```
...@@ -3166,8 +3204,9 @@ adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustTy ...@@ -3166,8 +3204,9 @@ adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustTy
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.adjustSystemVolumeByStep(audio.AudioVolumeType.MEDIA, audio.VolumeAdjustType.VOLUME_UP, (err) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.adjustSystemVolumeByStep(audio.AudioVolumeType.MEDIA, audio.VolumeAdjustType.VOLUME_UP, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to adjust the system volume by step ${err}`); console.error(`Failed to adjust the system volume by step ${err}`);
} else { } else {
...@@ -3213,10 +3252,11 @@ adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustTy ...@@ -3213,10 +3252,11 @@ adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustTy
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.adjustSystemVolumeByStep(audio.AudioVolumeType.MEDIA, audio.VolumeAdjustType.VOLUME_UP).then((value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.adjustSystemVolumeByStep(audio.AudioVolumeType.MEDIA, audio.VolumeAdjustType.VOLUME_UP).then(() => {
console.info('Success to adjust the system volume by step.'); console.info('Success to adjust the system volume by step.');
}).catch((error) => { }).catch((error: BusinessError) => {
console.error('Fail to adjust the system volume by step.'); console.error('Fail to adjust the system volume by step.');
}); });
``` ```
...@@ -3249,8 +3289,9 @@ getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: De ...@@ -3249,8 +3289,9 @@ getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: De
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getSystemVolumeInDb(audio.AudioVolumeType.MEDIA, 3, audio.DeviceType.SPEAKER, (err, dB) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.getSystemVolumeInDb(audio.AudioVolumeType.MEDIA, 3, audio.DeviceType.SPEAKER, (err: BusinessError, dB: number) => {
if (err) { if (err) {
console.error(`Failed to get the volume DB. ${err}`); console.error(`Failed to get the volume DB. ${err}`);
} else { } else {
...@@ -3291,10 +3332,11 @@ getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: De ...@@ -3291,10 +3332,11 @@ getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: De
**示例:** **示例:**
```js ```ts
audioVolumeGroupManager.getSystemVolumeInDb(audio.AudioVolumeType.MEDIA, 3, audio.DeviceType.SPEAKER).then((value) => { import { BusinessError } from '@ohos.base';
audioVolumeGroupManager.getSystemVolumeInDb(audio.AudioVolumeType.MEDIA, 3, audio.DeviceType.SPEAKER).then((value: number) => {
console.info(`Success to get the volume DB. ${value}`); console.info(`Success to get the volume DB. ${value}`);
}).catch((error) => { }).catch((error: BusinessError) => {
console.error(`Fail to adjust the system volume by step. ${error}`); console.error(`Fail to adjust the system volume by step. ${error}`);
}); });
``` ```
...@@ -3319,15 +3361,16 @@ getCurrentAudioRendererInfoArray(callback: AsyncCallback&lt;AudioRendererChangeI ...@@ -3319,15 +3361,16 @@ getCurrentAudioRendererInfoArray(callback: AsyncCallback&lt;AudioRendererChangeI
**示例:** **示例:**
```js ```ts
audioStreamManager.getCurrentAudioRendererInfoArray(async (err, AudioRendererChangeInfoArray) => { import { BusinessError } from '@ohos.base';
audioStreamManager.getCurrentAudioRendererInfoArray(async (err: BusinessError, AudioRendererChangeInfoArray: audio.AudioRendererChangeInfoArray) => {
console.info('getCurrentAudioRendererInfoArray **** Get Callback Called ****'); console.info('getCurrentAudioRendererInfoArray **** Get Callback Called ****');
if (err) { if (err) {
console.error(`getCurrentAudioRendererInfoArray :ERROR: ${err}`); console.error(`getCurrentAudioRendererInfoArray :ERROR: ${err}`);
} else { } else {
if (AudioRendererChangeInfoArray != null) { if (AudioRendererChangeInfoArray != null) {
for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) { for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) {
let AudioRendererChangeInfo = AudioRendererChangeInfoArray[i]; let AudioRendererChangeInfo: audio.AudioRendererChangeInfo = AudioRendererChangeInfoArray[i];
console.info(`StreamId for ${i} is: ${AudioRendererChangeInfo.streamId}`); console.info(`StreamId for ${i} is: ${AudioRendererChangeInfo.streamId}`);
console.info(`ClientUid for ${i} is: ${AudioRendererChangeInfo.clientUid}`); console.info(`ClientUid for ${i} is: ${AudioRendererChangeInfo.clientUid}`);
console.info(`Content ${i} is: ${AudioRendererChangeInfo.rendererInfo.content}`); console.info(`Content ${i} is: ${AudioRendererChangeInfo.rendererInfo.content}`);
...@@ -3366,13 +3409,14 @@ getCurrentAudioRendererInfoArray(): Promise&lt;AudioRendererChangeInfoArray&gt; ...@@ -3366,13 +3409,14 @@ getCurrentAudioRendererInfoArray(): Promise&lt;AudioRendererChangeInfoArray&gt;
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
async function getCurrentAudioRendererInfoArray(){ async function getCurrentAudioRendererInfoArray(){
await audioStreamManager.getCurrentAudioRendererInfoArray().then( function (AudioRendererChangeInfoArray) { await audioStreamManager.getCurrentAudioRendererInfoArray().then((AudioRendererChangeInfoArray: audio.AudioRendererChangeInfoArray) => {
console.info(`getCurrentAudioRendererInfoArray ######### Get Promise is called ##########`); console.info(`getCurrentAudioRendererInfoArray ######### Get Promise is called ##########`);
if (AudioRendererChangeInfoArray != null) { if (AudioRendererChangeInfoArray != null) {
for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) { for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) {
let AudioRendererChangeInfo = AudioRendererChangeInfoArray[i]; let AudioRendererChangeInfo: audio.AudioRendererChangeInfo = AudioRendererChangeInfoArray[i];
console.info(`StreamId for ${i} is: ${AudioRendererChangeInfo.streamId}`); console.info(`StreamId for ${i} is: ${AudioRendererChangeInfo.streamId}`);
console.info(`ClientUid for ${i} is: ${AudioRendererChangeInfo.clientUid}`); console.info(`ClientUid for ${i} is: ${AudioRendererChangeInfo.clientUid}`);
console.info(`Content ${i} is: ${AudioRendererChangeInfo.rendererInfo.content}`); console.info(`Content ${i} is: ${AudioRendererChangeInfo.rendererInfo.content}`);
...@@ -3391,7 +3435,7 @@ async function getCurrentAudioRendererInfoArray(){ ...@@ -3391,7 +3435,7 @@ async function getCurrentAudioRendererInfoArray(){
} }
} }
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`getCurrentAudioRendererInfoArray :ERROR: ${err}`); console.error(`getCurrentAudioRendererInfoArray :ERROR: ${err}`);
}); });
} }
...@@ -3413,8 +3457,9 @@ getCurrentAudioCapturerInfoArray(callback: AsyncCallback&lt;AudioCapturerChangeI ...@@ -3413,8 +3457,9 @@ getCurrentAudioCapturerInfoArray(callback: AsyncCallback&lt;AudioCapturerChangeI
**示例:** **示例:**
```js ```ts
audioStreamManager.getCurrentAudioCapturerInfoArray(async (err, AudioCapturerChangeInfoArray) => { import { BusinessError } from '@ohos.base';
audioStreamManager.getCurrentAudioCapturerInfoArray(async (err: BusinessError, AudioCapturerChangeInfoArray: audio.AudioCapturerChangeInfoArray) => {
console.info('getCurrentAudioCapturerInfoArray **** Get Callback Called ****'); console.info('getCurrentAudioCapturerInfoArray **** Get Callback Called ****');
if (err) { if (err) {
console.error(`getCurrentAudioCapturerInfoArray :ERROR: ${err}`); console.error(`getCurrentAudioCapturerInfoArray :ERROR: ${err}`);
...@@ -3458,9 +3503,10 @@ getCurrentAudioCapturerInfoArray(): Promise&lt;AudioCapturerChangeInfoArray&gt; ...@@ -3458,9 +3503,10 @@ getCurrentAudioCapturerInfoArray(): Promise&lt;AudioCapturerChangeInfoArray&gt;
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
async function getCurrentAudioCapturerInfoArray(){ async function getCurrentAudioCapturerInfoArray(){
await audioStreamManager.getCurrentAudioCapturerInfoArray().then( function (AudioCapturerChangeInfoArray) { await audioStreamManager.getCurrentAudioCapturerInfoArray().then((AudioCapturerChangeInfoArray: audio.AudioCapturerChangeInfoArray) => {
console.info('getCurrentAudioCapturerInfoArray **** Get Promise Called ****'); console.info('getCurrentAudioCapturerInfoArray **** Get Promise Called ****');
if (AudioCapturerChangeInfoArray != null) { if (AudioCapturerChangeInfoArray != null) {
for (let i = 0; i < AudioCapturerChangeInfoArray.length; i++) { for (let i = 0; i < AudioCapturerChangeInfoArray.length; i++) {
...@@ -3481,7 +3527,7 @@ async function getCurrentAudioCapturerInfoArray(){ ...@@ -3481,7 +3527,7 @@ async function getCurrentAudioCapturerInfoArray(){
} }
} }
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`getCurrentAudioCapturerInfoArray :ERROR: ${err}`); console.error(`getCurrentAudioCapturerInfoArray :ERROR: ${err}`);
}); });
} }
...@@ -3512,10 +3558,10 @@ on(type: 'audioRendererChange', callback: Callback&lt;AudioRendererChangeInfoArr ...@@ -3512,10 +3558,10 @@ on(type: 'audioRendererChange', callback: Callback&lt;AudioRendererChangeInfoArr
**示例:** **示例:**
```js ```ts
audioStreamManager.on('audioRendererChange', (AudioRendererChangeInfoArray) => { audioStreamManager.on('audioRendererChange', (AudioRendererChangeInfoArray: audio.AudioRendererChangeInfoArray) => {
for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) { for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) {
let AudioRendererChangeInfo = AudioRendererChangeInfoArray[i]; let AudioRendererChangeInfo: audio.AudioRendererChangeInfo = AudioRendererChangeInfoArray[i];
console.info(`## RendererChange on is called for ${i} ##`); console.info(`## RendererChange on is called for ${i} ##`);
console.info(`StreamId for ${i} is: ${AudioRendererChangeInfo.streamId}`); console.info(`StreamId for ${i} is: ${AudioRendererChangeInfo.streamId}`);
console.info(`ClientUid for ${i} is: ${AudioRendererChangeInfo.clientUid}`); console.info(`ClientUid for ${i} is: ${AudioRendererChangeInfo.clientUid}`);
...@@ -3561,7 +3607,7 @@ off(type: 'audioRendererChange'): void ...@@ -3561,7 +3607,7 @@ off(type: 'audioRendererChange'): void
**示例:** **示例:**
```js ```ts
audioStreamManager.off('audioRendererChange'); audioStreamManager.off('audioRendererChange');
console.info('######### RendererChange Off is called #########'); console.info('######### RendererChange Off is called #########');
``` ```
...@@ -3591,8 +3637,8 @@ on(type: 'audioCapturerChange', callback: Callback&lt;AudioCapturerChangeInfoArr ...@@ -3591,8 +3637,8 @@ on(type: 'audioCapturerChange', callback: Callback&lt;AudioCapturerChangeInfoArr
**示例:** **示例:**
```js ```ts
audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => { audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray: audio.AudioCapturerChangeInfoArray) => {
for (let i = 0; i < AudioCapturerChangeInfoArray.length; i++) { for (let i = 0; i < AudioCapturerChangeInfoArray.length; i++) {
console.info(`## CapChange on is called for element ${i} ##`); console.info(`## CapChange on is called for element ${i} ##`);
console.info(`StreamId for ${i} is: ${AudioCapturerChangeInfoArray[i].streamId}`); console.info(`StreamId for ${i} is: ${AudioCapturerChangeInfoArray[i].streamId}`);
...@@ -3600,7 +3646,7 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => ...@@ -3600,7 +3646,7 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) =>
console.info(`Source for ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.source}`); console.info(`Source for ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.source}`);
console.info(`Flag ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.capturerFlags}`); console.info(`Flag ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.capturerFlags}`);
console.info(`State for ${i} is: ${AudioCapturerChangeInfoArray[i].capturerState}`); console.info(`State for ${i} is: ${AudioCapturerChangeInfoArray[i].capturerState}`);
let devDescriptor = AudioCapturerChangeInfoArray[i].deviceDescriptors; let devDescriptor: audio.AudioCapturerChangeInfo = AudioCapturerChangeInfoArray[i].deviceDescriptors;
for (let j = 0; j < AudioCapturerChangeInfoArray[i].deviceDescriptors.length; j++) { for (let j = 0; j < AudioCapturerChangeInfoArray[i].deviceDescriptors.length; j++) {
console.info(`Id: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].id}`); console.info(`Id: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].id}`);
console.info(`Type: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceType}`); console.info(`Type: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceType}`);
...@@ -3639,7 +3685,7 @@ off(type: 'audioCapturerChange'): void; ...@@ -3639,7 +3685,7 @@ off(type: 'audioCapturerChange'): void;
**示例:** **示例:**
```js ```ts
audioStreamManager.off('audioCapturerChange'); audioStreamManager.off('audioCapturerChange');
console.info('######### CapturerChange Off is called #########'); console.info('######### CapturerChange Off is called #########');
...@@ -3662,12 +3708,13 @@ isActive(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): v ...@@ -3662,12 +3708,13 @@ isActive(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): v
**示例:** **示例:**
```js ```ts
audioStreamManager.isActive(audio.AudioVolumeType.MEDIA, (err, value) => { import { BusinessError } from '@ohos.base';
if (err) { audioStreamManager.isActive(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => {
if (err) {
console.error(`Failed to obtain the active status of the stream. ${err}`); console.error(`Failed to obtain the active status of the stream. ${err}`);
return; return;
} }
console.info(`Callback invoked to indicate that the active status of the stream is obtained ${value}.`); console.info(`Callback invoked to indicate that the active status of the stream is obtained ${value}.`);
}); });
``` ```
...@@ -3694,8 +3741,8 @@ isActive(volumeType: AudioVolumeType): Promise&lt;boolean&gt; ...@@ -3694,8 +3741,8 @@ isActive(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```ts
audioStreamManager.isActive(audio.AudioVolumeType.MEDIA).then((value) => { audioStreamManager.isActive(audio.AudioVolumeType.MEDIA).then((value: boolean) => {
console.info(`Promise returned to indicate that the active status of the stream is obtained ${value}.`); console.info(`Promise returned to indicate that the active status of the stream is obtained ${value}.`);
}); });
``` ```
...@@ -3725,8 +3772,9 @@ getAudioEffectInfoArray(usage: StreamUsage, callback: AsyncCallback&lt;AudioEffe ...@@ -3725,8 +3772,9 @@ getAudioEffectInfoArray(usage: StreamUsage, callback: AsyncCallback&lt;AudioEffe
**示例:** **示例:**
```js ```ts
audioStreamManager.getAudioEffectInfoArray(audio.StreamUsage.STREAM_USAGE_MEDIA, async (err, audioEffectInfoArray) => { import { BusinessError } from '@ohos.base';
audioStreamManager.getAudioEffectInfoArray(audio.StreamUsage.STREAM_USAGE_MEDIA, async (err: BusinessError, audioEffectInfoArray: audio.AudioEffectInfoArray) => {
console.info('getAudioEffectInfoArray **** Get Callback Called ****'); console.info('getAudioEffectInfoArray **** Get Callback Called ****');
if (err) { if (err) {
console.error(`getAudioEffectInfoArray :ERROR: ${err}`); console.error(`getAudioEffectInfoArray :ERROR: ${err}`);
...@@ -3767,11 +3815,12 @@ getAudioEffectInfoArray(usage: StreamUsage): Promise&lt;AudioEffectInfoArray&gt; ...@@ -3767,11 +3815,12 @@ getAudioEffectInfoArray(usage: StreamUsage): Promise&lt;AudioEffectInfoArray&gt;
**示例:** **示例:**
```js ```ts
audioStreamManager.getAudioEffectInfoArray(audio.StreamUsage.STREAM_USAGE_MEDIA).then((audioEffectInfoArray) => { import { BusinessError } from '@ohos.base';
audioStreamManager.getAudioEffectInfoArray(audio.StreamUsage.STREAM_USAGE_MEDIA).then((audioEffectInfoArray: audio.AudioEffectInfoArray) => {
console.info('getAudioEffectInfoArray ######### Get Promise is called ##########'); console.info('getAudioEffectInfoArray ######### Get Promise is called ##########');
console.info(`The effect modes are: ${audioEffectInfoArray}`); console.info(`The effect modes are: ${audioEffectInfoArray}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`getAudioEffectInfoArray :ERROR: ${err}`); console.error(`getAudioEffectInfoArray :ERROR: ${err}`);
}); });
``` ```
...@@ -3797,8 +3846,9 @@ getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback&lt;AudioDeviceDescrip ...@@ -3797,8 +3846,9 @@ getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback&lt;AudioDeviceDescrip
**示例:** **示例:**
```js ```ts
audioRoutingManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err, value) => { import { BusinessError } from '@ohos.base';
audioRoutingManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err: BusinessError, value: audio.AudioDeviceDescriptors) => {
if (err) { if (err) {
console.error(`Failed to obtain the device list. ${err}`); console.error(`Failed to obtain the device list. ${err}`);
return; return;
...@@ -3829,8 +3879,8 @@ getDevices(deviceFlag: DeviceFlag): Promise&lt;AudioDeviceDescriptors&gt; ...@@ -3829,8 +3879,8 @@ getDevices(deviceFlag: DeviceFlag): Promise&lt;AudioDeviceDescriptors&gt;
**示例:** **示例:**
```js ```ts
audioRoutingManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data) => { audioRoutingManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data: audio.AudioDeviceDescriptors) => {
console.info('Promise returned to indicate that the device list is obtained.'); console.info('Promise returned to indicate that the device list is obtained.');
}); });
``` ```
...@@ -3861,8 +3911,8 @@ on(type: 'deviceChange', deviceFlag: DeviceFlag, callback: Callback<DeviceChange ...@@ -3861,8 +3911,8 @@ on(type: 'deviceChange', deviceFlag: DeviceFlag, callback: Callback<DeviceChange
**示例:** **示例:**
```js ```ts
audioRoutingManager.on('deviceChange', audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (deviceChanged) => { audioRoutingManager.on('deviceChange', audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (deviceChanged: audio.DeviceChangeAction) => {
console.info('device change type : ' + deviceChanged.type); console.info('device change type : ' + deviceChanged.type);
console.info('device descriptor size : ' + deviceChanged.deviceDescriptors.length); console.info('device descriptor size : ' + deviceChanged.deviceDescriptors.length);
console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceRole); console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceRole);
...@@ -3895,7 +3945,7 @@ off(type: 'deviceChange', callback?: Callback<DeviceChangeAction\>): void ...@@ -3895,7 +3945,7 @@ off(type: 'deviceChange', callback?: Callback<DeviceChangeAction\>): void
**示例:** **示例:**
```js ```ts
audioRoutingManager.off('deviceChange'); audioRoutingManager.off('deviceChange');
``` ```
...@@ -3917,8 +3967,10 @@ selectInputDevice(inputAudioDevices: AudioDeviceDescriptors, callback: AsyncCall ...@@ -3917,8 +3967,10 @@ selectInputDevice(inputAudioDevices: AudioDeviceDescriptors, callback: AsyncCall
| callback | AsyncCallback&lt;void&gt; | 是 | 回调,返回选择输入设备结果。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调,返回选择输入设备结果。 |
**示例:** **示例:**
```js ```ts
let inputAudioDeviceDescriptor = [{ import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let inputAudioDeviceDescriptor: audio.AudioDeviceDescriptors = [{
deviceRole : audio.DeviceRole.INPUT_DEVICE, deviceRole : audio.DeviceRole.INPUT_DEVICE,
deviceType : audio.DeviceType.EARPIECE, deviceType : audio.DeviceType.EARPIECE,
id : 1, id : 1,
...@@ -3934,11 +3986,12 @@ let inputAudioDeviceDescriptor = [{ ...@@ -3934,11 +3986,12 @@ let inputAudioDeviceDescriptor = [{
}]; }];
async function selectInputDevice(){ async function selectInputDevice(){
audioRoutingManager.selectInputDevice(inputAudioDeviceDescriptor, (err) => { audioRoutingManager.selectInputDevice(inputAudioDeviceDescriptor, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
} else { } else {
console.info('Select input devices result callback: SUCCESS'); } console.info('Select input devices result callback: SUCCESS');
}
}); });
} }
``` ```
...@@ -3967,8 +4020,10 @@ selectInputDevice(inputAudioDevices: AudioDeviceDescriptors): Promise&lt;void&gt ...@@ -3967,8 +4020,10 @@ selectInputDevice(inputAudioDevices: AudioDeviceDescriptors): Promise&lt;void&gt
**示例:** **示例:**
```js ```ts
let inputAudioDeviceDescriptor = [{ import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let inputAudioDeviceDescriptor: audio.AudioDeviceDescriptors = [{
deviceRole : audio.DeviceRole.INPUT_DEVICE, deviceRole : audio.DeviceRole.INPUT_DEVICE,
deviceType : audio.DeviceType.EARPIECE, deviceType : audio.DeviceType.EARPIECE,
id : 1, id : 1,
...@@ -3986,7 +4041,7 @@ let inputAudioDeviceDescriptor = [{ ...@@ -3986,7 +4041,7 @@ let inputAudioDeviceDescriptor = [{
async function getRoutingManager(){ async function getRoutingManager(){
audioRoutingManager.selectInputDevice(inputAudioDeviceDescriptor).then(() => { audioRoutingManager.selectInputDevice(inputAudioDeviceDescriptor).then(() => {
console.info('Select input devices result promise: SUCCESS'); console.info('Select input devices result promise: SUCCESS');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
}); });
} }
...@@ -4010,8 +4065,9 @@ setCommunicationDevice(deviceType: CommunicationDeviceType, active: boolean, cal ...@@ -4010,8 +4065,9 @@ setCommunicationDevice(deviceType: CommunicationDeviceType, active: boolean, cal
**示例:** **示例:**
```js ```ts
audioRoutingManager.setCommunicationDevice(audio.CommunicationDeviceType.SPEAKER, true, (err) => { import { BusinessError } from '@ohos.base';
audioRoutingManager.setCommunicationDevice(audio.CommunicationDeviceType.SPEAKER, true, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to set the active status of the device. ${err}`); console.error(`Failed to set the active status of the device. ${err}`);
return; return;
...@@ -4043,7 +4099,7 @@ setCommunicationDevice(deviceType: CommunicationDeviceType, active: boolean): Pr ...@@ -4043,7 +4099,7 @@ setCommunicationDevice(deviceType: CommunicationDeviceType, active: boolean): Pr
**示例:** **示例:**
```js ```ts
audioRoutingManager.setCommunicationDevice(audio.CommunicationDeviceType.SPEAKER, true).then(() => { audioRoutingManager.setCommunicationDevice(audio.CommunicationDeviceType.SPEAKER, true).then(() => {
console.info('Promise returned to indicate that the device is set to the active status.'); console.info('Promise returned to indicate that the device is set to the active status.');
}); });
...@@ -4066,8 +4122,9 @@ isCommunicationDeviceActive(deviceType: CommunicationDeviceType, callback: Async ...@@ -4066,8 +4122,9 @@ isCommunicationDeviceActive(deviceType: CommunicationDeviceType, callback: Async
**示例:** **示例:**
```js ```ts
audioRoutingManager.isCommunicationDeviceActive(audio.CommunicationDeviceType.SPEAKER, (err, value) => { import { BusinessError } from '@ohos.base';
audioRoutingManager.isCommunicationDeviceActive(audio.CommunicationDeviceType.SPEAKER, (err: BusinessError, value: boolean) => {
if (err) { if (err) {
console.error(`Failed to obtain the active status of the device. ${err}`); console.error(`Failed to obtain the active status of the device. ${err}`);
return; return;
...@@ -4098,8 +4155,8 @@ isCommunicationDeviceActive(deviceType: CommunicationDeviceType): Promise&lt;boo ...@@ -4098,8 +4155,8 @@ isCommunicationDeviceActive(deviceType: CommunicationDeviceType): Promise&lt;boo
**示例:** **示例:**
```js ```ts
audioRoutingManager.isCommunicationDeviceActive(audio.CommunicationDeviceType.SPEAKER).then((value) => { audioRoutingManager.isCommunicationDeviceActive(audio.CommunicationDeviceType.SPEAKER).then((value: boolean) => {
console.info(`Promise returned to indicate that the active status of the device is obtained ${value}.`); console.info(`Promise returned to indicate that the active status of the device is obtained ${value}.`);
}); });
``` ```
...@@ -4122,8 +4179,10 @@ selectOutputDevice(outputAudioDevices: AudioDeviceDescriptors, callback: AsyncCa ...@@ -4122,8 +4179,10 @@ selectOutputDevice(outputAudioDevices: AudioDeviceDescriptors, callback: AsyncCa
| callback | AsyncCallback&lt;void&gt; | 是 | 回调,返回获取输出设备结果。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调,返回获取输出设备结果。 |
**示例:** **示例:**
```js ```ts
let outputAudioDeviceDescriptor = [{ import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let outputAudioDeviceDescriptor: audio.AudioDeviceDescriptors = [{
deviceRole : audio.DeviceRole.OUTPUT_DEVICE, deviceRole : audio.DeviceRole.OUTPUT_DEVICE,
deviceType : audio.DeviceType.SPEAKER, deviceType : audio.DeviceType.SPEAKER,
id : 1, id : 1,
...@@ -4139,7 +4198,7 @@ let outputAudioDeviceDescriptor = [{ ...@@ -4139,7 +4198,7 @@ let outputAudioDeviceDescriptor = [{
}]; }];
async function selectOutputDevice(){ async function selectOutputDevice(){
audioRoutingManager.selectOutputDevice(outputAudioDeviceDescriptor, (err) => { audioRoutingManager.selectOutputDevice(outputAudioDeviceDescriptor, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
} else { } else {
...@@ -4172,8 +4231,10 @@ selectOutputDevice(outputAudioDevices: AudioDeviceDescriptors): Promise&lt;void& ...@@ -4172,8 +4231,10 @@ selectOutputDevice(outputAudioDevices: AudioDeviceDescriptors): Promise&lt;void&
**示例:** **示例:**
```js ```ts
let outputAudioDeviceDescriptor = [{ import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let outputAudioDeviceDescriptor: audio.AudioDeviceDescriptors = [{
deviceRole : audio.DeviceRole.OUTPUT_DEVICE, deviceRole : audio.DeviceRole.OUTPUT_DEVICE,
deviceType : audio.DeviceType.SPEAKER, deviceType : audio.DeviceType.SPEAKER,
id : 1, id : 1,
...@@ -4191,7 +4252,7 @@ let outputAudioDeviceDescriptor = [{ ...@@ -4191,7 +4252,7 @@ let outputAudioDeviceDescriptor = [{
async function selectOutputDevice(){ async function selectOutputDevice(){
audioRoutingManager.selectOutputDevice(outputAudioDeviceDescriptor).then(() => { audioRoutingManager.selectOutputDevice(outputAudioDeviceDescriptor).then(() => {
console.info('Select output devices result promise: SUCCESS'); console.info('Select output devices result promise: SUCCESS');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
}); });
} }
...@@ -4216,16 +4277,20 @@ selectOutputDeviceByFilter(filter: AudioRendererFilter, outputAudioDevices: Audi ...@@ -4216,16 +4277,20 @@ selectOutputDeviceByFilter(filter: AudioRendererFilter, outputAudioDevices: Audi
| callback | AsyncCallback&lt;void&gt; | 是 | 回调,返回获取输出设备结果。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调,返回获取输出设备结果。 |
**示例:** **示例:**
```js ```ts
let outputAudioRendererFilter = { import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let outputAudioRendererFilter: audio.AudioRendererFilter = {
uid : 20010041, uid : 20010041,
rendererInfo : { rendererInfo : {
content : audio.ContentType.CONTENT_TYPE_MUSIC, content : audio.ContentType.CONTENT_TYPE_MUSIC,
usage : audio.StreamUsage.STREAM_USAGE_MEDIA, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
rendererFlags : 0 }, rendererFlags : 0
rendererId : 0 }; },
rendererId : 0
};
let outputAudioDeviceDescriptor = [{ let outputAudioDeviceDescriptor: audio.AudioDeviceDescriptors = [{
deviceRole : audio.DeviceRole.OUTPUT_DEVICE, deviceRole : audio.DeviceRole.OUTPUT_DEVICE,
deviceType : audio.DeviceType.SPEAKER, deviceType : audio.DeviceType.SPEAKER,
id : 1, id : 1,
...@@ -4241,7 +4306,7 @@ let outputAudioDeviceDescriptor = [{ ...@@ -4241,7 +4306,7 @@ let outputAudioDeviceDescriptor = [{
}]; }];
async function selectOutputDeviceByFilter(){ async function selectOutputDeviceByFilter(){
audioRoutingManager.selectOutputDeviceByFilter(outputAudioRendererFilter, outputAudioDeviceDescriptor, (err) => { audioRoutingManager.selectOutputDeviceByFilter(outputAudioRendererFilter, outputAudioDeviceDescriptor, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
} else { } else {
...@@ -4275,16 +4340,20 @@ selectOutputDeviceByFilter(filter: AudioRendererFilter, outputAudioDevices: Audi ...@@ -4275,16 +4340,20 @@ selectOutputDeviceByFilter(filter: AudioRendererFilter, outputAudioDevices: Audi
**示例:** **示例:**
```js ```ts
let outputAudioRendererFilter = { import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let outputAudioRendererFilter: audio.AudioRendererFilter = {
uid : 20010041, uid : 20010041,
rendererInfo : { rendererInfo : {
content : audio.ContentType.CONTENT_TYPE_MUSIC, content : audio.ContentType.CONTENT_TYPE_MUSIC,
usage : audio.StreamUsage.STREAM_USAGE_MEDIA, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
rendererFlags : 0 }, rendererFlags : 0
rendererId : 0 }; },
rendererId : 0
};
let outputAudioDeviceDescriptor = [{ let outputAudioDeviceDescriptor: audio.AudioDeviceDescriptors = [{
deviceRole : audio.DeviceRole.OUTPUT_DEVICE, deviceRole : audio.DeviceRole.OUTPUT_DEVICE,
deviceType : audio.DeviceType.SPEAKER, deviceType : audio.DeviceType.SPEAKER,
id : 1, id : 1,
...@@ -4302,7 +4371,7 @@ let outputAudioDeviceDescriptor = [{ ...@@ -4302,7 +4371,7 @@ let outputAudioDeviceDescriptor = [{
async function selectOutputDeviceByFilter(){ async function selectOutputDeviceByFilter(){
audioRoutingManager.selectOutputDeviceByFilter(outputAudioRendererFilter, outputAudioDeviceDescriptor).then(() => { audioRoutingManager.selectOutputDeviceByFilter(outputAudioRendererFilter, outputAudioDeviceDescriptor).then(() => {
console.info('Select output devices by filter result promise: SUCCESS'); console.info('Select output devices by filter result promise: SUCCESS');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
}) })
} }
...@@ -4333,14 +4402,17 @@ getPreferredOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo, callbac ...@@ -4333,14 +4402,17 @@ getPreferredOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo, callbac
| 6800301 | System error. Return by callback. | | 6800301 | System error. Return by callback. |
**示例:** **示例:**
```js ```ts
let rendererInfo = { import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let rendererInfo: audio.AudioRendererInfo = {
content : audio.ContentType.CONTENT_TYPE_MUSIC, content : audio.ContentType.CONTENT_TYPE_MUSIC,
usage : audio.StreamUsage.STREAM_USAGE_MEDIA, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
rendererFlags : 0 } rendererFlags : 0
}
async function getPreferredOutputDevice() { async function getPreferredOutputDevice() {
audioRoutingManager.getPreferredOutputDeviceForRendererInfo(rendererInfo, (err, desc) => { audioRoutingManager.getPreferredOutputDeviceForRendererInfo(rendererInfo, (err: BusinessError, desc: audio.AudioDeviceDescriptors) => {
if (err) { if (err) {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
} else { } else {
...@@ -4380,16 +4452,19 @@ getPreferredOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo): Promis ...@@ -4380,16 +4452,19 @@ getPreferredOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo): Promis
**示例:** **示例:**
```js ```ts
let rendererInfo = { import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let rendererInfo: audio.AudioRendererInfo = {
content : audio.ContentType.CONTENT_TYPE_MUSIC, content : audio.ContentType.CONTENT_TYPE_MUSIC,
usage : audio.StreamUsage.STREAM_USAGE_MEDIA, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
rendererFlags : 0 } rendererFlags : 0
}
async function getPreferredOutputDevice() { async function getPreferredOutputDevice() {
audioRoutingManager.getPreferredOutputDeviceForRendererInfo(rendererInfo).then((desc) => { audioRoutingManager.getPreferredOutputDeviceForRendererInfo(rendererInfo).then((desc: audio.AudioDeviceDescriptors) => {
console.info(`device descriptor: ${desc}`); console.info(`device descriptor: ${desc}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
}) })
} }
...@@ -4421,13 +4496,15 @@ on(type: 'preferredOutputDeviceChangeForRendererInfo', rendererInfo: AudioRender ...@@ -4421,13 +4496,15 @@ on(type: 'preferredOutputDeviceChangeForRendererInfo', rendererInfo: AudioRender
**示例:** **示例:**
```js ```ts
let rendererInfo = { import audio from '@ohos.multimedia.audio';
let rendererInfo: audio.AudioRendererInfo = {
content : audio.ContentType.CONTENT_TYPE_MUSIC, content : audio.ContentType.CONTENT_TYPE_MUSIC,
usage : audio.StreamUsage.STREAM_USAGE_MEDIA, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
rendererFlags : 0 } rendererFlags : 0
}
audioRoutingManager.on('preferredOutputDeviceChangeForRendererInfo', rendererInfo, (desc) => { audioRoutingManager.on('preferredOutputDeviceChangeForRendererInfo', rendererInfo, (desc: audio.AudioDeviceDescriptors) => {
console.info(`device descriptor: ${desc}`); console.info(`device descriptor: ${desc}`);
}); });
``` ```
...@@ -4457,7 +4534,7 @@ off(type: 'preferredOutputDeviceChangeForRendererInfo', callback?: Callback<Audi ...@@ -4457,7 +4534,7 @@ off(type: 'preferredOutputDeviceChangeForRendererInfo', callback?: Callback<Audi
**示例:** **示例:**
```js ```ts
audioRoutingManager.off('preferredOutputDeviceChangeForRendererInfo'); audioRoutingManager.off('preferredOutputDeviceChangeForRendererInfo');
``` ```
...@@ -4486,13 +4563,15 @@ getPreferredInputDeviceForCapturerInfo(capturerInfo: AudioCapturerInfo, callback ...@@ -4486,13 +4563,15 @@ getPreferredInputDeviceForCapturerInfo(capturerInfo: AudioCapturerInfo, callback
| 6800301 | System error. Return by callback. | | 6800301 | System error. Return by callback. |
**示例:** **示例:**
```js ```ts
let capturerInfo = { import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let capturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC, source: audio.SourceType.SOURCE_TYPE_MIC,
capturerFlags: 0 capturerFlags: 0
} }
audioRoutingManager.getPreferredInputDeviceForCapturerInfo(capturerInfo, (err, desc) => { audioRoutingManager.getPreferredInputDeviceForCapturerInfo(capturerInfo, (err: BusinessError, desc: audio.AudioDeviceDescriptors) => {
if (err) { if (err) {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
} else { } else {
...@@ -4532,17 +4611,19 @@ getPreferredInputDeviceForCapturerInfo(capturerInfo: AudioCapturerInfo): Promise ...@@ -4532,17 +4611,19 @@ getPreferredInputDeviceForCapturerInfo(capturerInfo: AudioCapturerInfo): Promise
**示例:** **示例:**
```js ```ts
let capturerInfo = { import audio from '@ohos.multimedia.audio';
import { BusinessError } from '@ohos.base';
let capturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC, source: audio.SourceType.SOURCE_TYPE_MIC,
capturerFlags: 0 capturerFlags: 0
} }
audioRoutingManager.getPreferredInputDeviceForCapturerInfo(capturerInfo).then((desc) => { audioRoutingManager.getPreferredInputDeviceForCapturerInfo(capturerInfo).then((desc: audio.AudioDeviceDescriptors) => {
console.info(`device descriptor: ${desc}`); console.info(`device descriptor: ${desc}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Result ERROR: ${err}`); console.error(`Result ERROR: ${err}`);
}) });
``` ```
### on('preferredInputDeviceChangeForCapturerInfo')<sup>10+</sup> ### on('preferredInputDeviceChangeForCapturerInfo')<sup>10+</sup>
...@@ -4571,13 +4652,14 @@ on(type: 'preferredInputDeviceChangeForCapturerInfo', capturerInfo: AudioCapture ...@@ -4571,13 +4652,14 @@ on(type: 'preferredInputDeviceChangeForCapturerInfo', capturerInfo: AudioCapture
**示例:** **示例:**
```js ```ts
let capturerInfo = { import audio from '@ohos.multimedia.audio';
let capturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC, source: audio.SourceType.SOURCE_TYPE_MIC,
capturerFlags: 0 capturerFlags: 0
} }
audioRoutingManager.on('preferredInputDeviceChangeForCapturerInfo', capturerInfo, (desc) => { audioRoutingManager.on('preferredInputDeviceChangeForCapturerInfo', capturerInfo, (desc: audio.AudioDeviceDescriptors) => {
console.info(`device descriptor: ${desc}`); console.info(`device descriptor: ${desc}`);
}); });
``` ```
...@@ -4607,7 +4689,7 @@ off(type: 'preferredInputDeviceChangeForCapturerInfo', callback?: Callback<Audio ...@@ -4607,7 +4689,7 @@ off(type: 'preferredInputDeviceChangeForCapturerInfo', callback?: Callback<Audio
**示例:** **示例:**
```js ```ts
audioRoutingManager.off('preferredInputDeviceChangeForCapturerInfo'); audioRoutingManager.off('preferredInputDeviceChangeForCapturerInfo');
``` ```
...@@ -4633,8 +4715,7 @@ audioRoutingManager.off('preferredInputDeviceChangeForCapturerInfo'); ...@@ -4633,8 +4715,7 @@ audioRoutingManager.off('preferredInputDeviceChangeForCapturerInfo');
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
const audioManager = audio.getAudioManager(); const audioManager = audio.getAudioManager();
...@@ -4692,7 +4773,7 @@ audioStreamManager.on('audioRendererChange', (AudioRendererChangeInfoArray) => ...@@ -4692,7 +4773,7 @@ audioStreamManager.on('audioRendererChange', (AudioRendererChangeInfoArray) =>
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; import audio from '@ohos.multimedia.audio';
const audioManager = audio.getAudioManager(); const audioManager = audio.getAudioManager();
...@@ -4757,18 +4838,16 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => ...@@ -4757,18 +4838,16 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) =>
**示例:** **示例:**
```js ```ts
import audio from '@ohos.multimedia.audio'; function displayDeviceProp(value: audio.AudioDeviceDescriptor) {
function displayDeviceProp(value) {
deviceRoleValue = value.deviceRole; deviceRoleValue = value.deviceRole;
deviceTypeValue = value.deviceType; deviceTypeValue = value.deviceType;
} }
let deviceRoleValue = null; let deviceRoleValue: audio.DeviceRole = null;
let deviceTypeValue = null; let deviceTypeValue: audio.DeviceType = null;
const promise = audio.getAudioManager().getDevices(1); const promise = audio.getAudioManager().getDevices(1);
promise.then(function (value) { promise.then((value) => {
console.info('AudioFrameworkTest: Promise: getDevices OUTPUT_DEVICES_FLAG'); console.info('AudioFrameworkTest: Promise: getDevices OUTPUT_DEVICES_FLAG');
value.forEach(displayDeviceProp); value.forEach(displayDeviceProp);
if (deviceTypeValue != null && deviceRoleValue != null){ if (deviceTypeValue != null && deviceRoleValue != null){
...@@ -4793,14 +4872,17 @@ promise.then(function (value) { ...@@ -4793,14 +4872,17 @@ promise.then(function (value) {
**示例:** **示例:**
```js ```ts
let outputAudioRendererFilter = { import audio from '@ohos.multimedia.audio';
"uid":20010041, let outputAudioRendererFilter: audio.AudioRendererFilter = {
"rendererInfo": { uid : 20010041,
"contentType":audio.ContentType.CONTENT_TYPE_MUSIC, rendererInfo : {
"streamUsage":audio.StreamUsage.STREAM_USAGE_MEDIA, content : audio.ContentType.CONTENT_TYPE_MUSIC,
"rendererFlags":0 }, usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
"rendererId":0 }; rendererFlags : 0
},
rendererId : 0
};
``` ```
## AudioRenderer<sup>8+</sup> ## AudioRenderer<sup>8+</sup>
...@@ -4817,8 +4899,8 @@ let outputAudioRendererFilter = { ...@@ -4817,8 +4899,8 @@ let outputAudioRendererFilter = {
**示例:** **示例:**
```js ```ts
let state = audioRenderer.state; let state: audio.AudioState = audioRenderer.state;
``` ```
### getRendererInfo<sup>8+</sup> ### getRendererInfo<sup>8+</sup>
...@@ -4837,8 +4919,9 @@ getRendererInfo(callback: AsyncCallback<AudioRendererInfo\>): void ...@@ -4837,8 +4919,9 @@ getRendererInfo(callback: AsyncCallback<AudioRendererInfo\>): void
**示例:** **示例:**
```js ```ts
audioRenderer.getRendererInfo((err, rendererInfo) => { import { BusinessError } from '@ohos.base';
audioRenderer.getRendererInfo((err: BusinessError, rendererInfo: audio.AudioRendererInfo) => {
console.info('Renderer GetRendererInfo:'); console.info('Renderer GetRendererInfo:');
console.info(`Renderer content: ${rendererInfo.content}`); console.info(`Renderer content: ${rendererInfo.content}`);
console.info(`Renderer usage: ${rendererInfo.usage}`); console.info(`Renderer usage: ${rendererInfo.usage}`);
...@@ -4862,13 +4945,14 @@ getRendererInfo(): Promise<AudioRendererInfo\> ...@@ -4862,13 +4945,14 @@ getRendererInfo(): Promise<AudioRendererInfo\>
**示例:** **示例:**
```js ```ts
audioRenderer.getRendererInfo().then((rendererInfo) => { import { BusinessError } from '@ohos.base';
audioRenderer.getRendererInfo().then((rendererInfo: audio.AudioRendererInfo) => {
console.info('Renderer GetRendererInfo:'); console.info('Renderer GetRendererInfo:');
console.info(`Renderer content: ${rendererInfo.content}`); console.info(`Renderer content: ${rendererInfo.content}`);
console.info(`Renderer usage: ${rendererInfo.usage}`); console.info(`Renderer usage: ${rendererInfo.usage}`);
console.info(`Renderer flags: ${rendererInfo.rendererFlags}`) console.info(`Renderer flags: ${rendererInfo.rendererFlags}`)
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioFrameworkRenderLog: RendererInfo :ERROR: ${err}`); console.error(`AudioFrameworkRenderLog: RendererInfo :ERROR: ${err}`);
}); });
``` ```
...@@ -4889,8 +4973,9 @@ getStreamInfo(callback: AsyncCallback<AudioStreamInfo\>): void ...@@ -4889,8 +4973,9 @@ getStreamInfo(callback: AsyncCallback<AudioStreamInfo\>): void
**示例:** **示例:**
```js ```ts
audioRenderer.getStreamInfo((err, streamInfo) => { import { BusinessError } from '@ohos.base';
audioRenderer.getStreamInfo((err: BusinessError, streamInfo: audio.AudioStreamInfo) => {
console.info('Renderer GetStreamInfo:'); console.info('Renderer GetStreamInfo:');
console.info(`Renderer sampling rate: ${streamInfo.samplingRate}`); console.info(`Renderer sampling rate: ${streamInfo.samplingRate}`);
console.info(`Renderer channel: ${streamInfo.channels}`); console.info(`Renderer channel: ${streamInfo.channels}`);
...@@ -4915,14 +5000,15 @@ getStreamInfo(): Promise<AudioStreamInfo\> ...@@ -4915,14 +5000,15 @@ getStreamInfo(): Promise<AudioStreamInfo\>
**示例:** **示例:**
```js ```ts
audioRenderer.getStreamInfo().then((streamInfo) => { import { BusinessError } from '@ohos.base';
audioRenderer.getStreamInfo().then((streamInfo: audio.AudioStreamInfo) => {
console.info('Renderer GetStreamInfo:'); console.info('Renderer GetStreamInfo:');
console.info(`Renderer sampling rate: ${streamInfo.samplingRate}`); console.info(`Renderer sampling rate: ${streamInfo.samplingRate}`);
console.info(`Renderer channel: ${streamInfo.channels}`); console.info(`Renderer channel: ${streamInfo.channels}`);
console.info(`Renderer format: ${streamInfo.sampleFormat}`); console.info(`Renderer format: ${streamInfo.sampleFormat}`);
console.info(`Renderer encoding type: ${streamInfo.encodingType}`); console.info(`Renderer encoding type: ${streamInfo.encodingType}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -4943,8 +5029,9 @@ getAudioStreamId(callback: AsyncCallback<number\>): void ...@@ -4943,8 +5029,9 @@ getAudioStreamId(callback: AsyncCallback<number\>): void
**示例:** **示例:**
```js ```ts
audioRenderer.getAudioStreamId((err, streamid) => { import { BusinessError } from '@ohos.base';
audioRenderer.getAudioStreamId((err: BusinessError, streamid: number) => {
console.info(`Renderer GetStreamId: ${streamid}`); console.info(`Renderer GetStreamId: ${streamid}`);
}); });
``` ```
...@@ -4965,10 +5052,11 @@ getAudioStreamId(): Promise<number\> ...@@ -4965,10 +5052,11 @@ getAudioStreamId(): Promise<number\>
**示例:** **示例:**
```js ```ts
audioRenderer.getAudioStreamId().then((streamid) => { import { BusinessError } from '@ohos.base';
audioRenderer.getAudioStreamId().then((streamid: number) => {
console.info(`Renderer getAudioStreamId: ${streamid}`); console.info(`Renderer getAudioStreamId: ${streamid}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -4998,8 +5086,9 @@ setAudioEffectMode(mode: AudioEffectMode, callback: AsyncCallback\<void>): void ...@@ -4998,8 +5086,9 @@ setAudioEffectMode(mode: AudioEffectMode, callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT, (err) => { import { BusinessError } from '@ohos.base';
audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT, (err: BusinessError) => {
if (err) { if (err) {
console.error('Failed to set params'); console.error('Failed to set params');
} else { } else {
...@@ -5038,10 +5127,11 @@ setAudioEffectMode(mode: AudioEffectMode): Promise\<void> ...@@ -5038,10 +5127,11 @@ setAudioEffectMode(mode: AudioEffectMode): Promise\<void>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT).then(() => { audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT).then(() => {
console.info('setAudioEffectMode SUCCESS'); console.info('setAudioEffectMode SUCCESS');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5062,8 +5152,9 @@ getAudioEffectMode(callback: AsyncCallback\<AudioEffectMode>): void ...@@ -5062,8 +5152,9 @@ getAudioEffectMode(callback: AsyncCallback\<AudioEffectMode>): void
**示例:** **示例:**
```js ```ts
audioRenderer.getAudioEffectMode((err, effectmode) => { import { BusinessError } from '@ohos.base';
audioRenderer.getAudioEffectMode((err: BusinessError, effectmode: audio.AudioEffectMode) => {
if (err) { if (err) {
console.error('Failed to get params'); console.error('Failed to get params');
} else { } else {
...@@ -5088,10 +5179,11 @@ getAudioEffectMode(): Promise\<AudioEffectMode> ...@@ -5088,10 +5179,11 @@ getAudioEffectMode(): Promise\<AudioEffectMode>
**示例:** **示例:**
```js ```ts
audioRenderer.getAudioEffectMode().then((effectmode) => { import { BusinessError } from '@ohos.base';
audioRenderer.getAudioEffectMode().then((effectmode: audio.AudioEffectMode) => {
console.info(`getAudioEffectMode: ${effectmode}`); console.info(`getAudioEffectMode: ${effectmode}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5112,8 +5204,9 @@ start(callback: AsyncCallback<void\>): void ...@@ -5112,8 +5204,9 @@ start(callback: AsyncCallback<void\>): void
**示例:** **示例:**
```js ```ts
audioRenderer.start((err) => { import { BusinessError } from '@ohos.base';
audioRenderer.start((err: BusinessError) => {
if (err) { if (err) {
console.error('Renderer start failed.'); console.error('Renderer start failed.');
} else { } else {
...@@ -5138,10 +5231,11 @@ start(): Promise<void\> ...@@ -5138,10 +5231,11 @@ start(): Promise<void\>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioRenderer.start().then(() => { audioRenderer.start().then(() => {
console.info('Renderer started'); console.info('Renderer started');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5162,8 +5256,9 @@ pause(callback: AsyncCallback\<void>): void ...@@ -5162,8 +5256,9 @@ pause(callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
audioRenderer.pause((err) => { import { BusinessError } from '@ohos.base';
audioRenderer.pause((err: BusinessError) => {
if (err) { if (err) {
console.error('Renderer pause failed'); console.error('Renderer pause failed');
} else { } else {
...@@ -5188,10 +5283,11 @@ pause(): Promise\<void> ...@@ -5188,10 +5283,11 @@ pause(): Promise\<void>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioRenderer.pause().then(() => { audioRenderer.pause().then(() => {
console.info('Renderer paused'); console.info('Renderer paused');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5212,8 +5308,9 @@ drain(callback: AsyncCallback\<void>): void ...@@ -5212,8 +5308,9 @@ drain(callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
audioRenderer.drain((err) => { import { BusinessError } from '@ohos.base';
audioRenderer.drain((err: BusinessError) => {
if (err) { if (err) {
console.error('Renderer drain failed'); console.error('Renderer drain failed');
} else { } else {
...@@ -5238,10 +5335,11 @@ drain(): Promise\<void> ...@@ -5238,10 +5335,11 @@ drain(): Promise\<void>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioRenderer.drain().then(() => { audioRenderer.drain().then(() => {
console.info('Renderer drained successfully'); console.info('Renderer drained successfully');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5262,8 +5360,9 @@ stop(callback: AsyncCallback\<void>): void ...@@ -5262,8 +5360,9 @@ stop(callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
audioRenderer.stop((err) => { import { BusinessError } from '@ohos.base';
audioRenderer.stop((err: BusinessError) => {
if (err) { if (err) {
console.error('Renderer stop failed'); console.error('Renderer stop failed');
} else { } else {
...@@ -5288,10 +5387,11 @@ stop(): Promise\<void> ...@@ -5288,10 +5387,11 @@ stop(): Promise\<void>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioRenderer.stop().then(() => { audioRenderer.stop().then(() => {
console.info('Renderer stopped successfully'); console.info('Renderer stopped successfully');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5312,8 +5412,9 @@ release(callback: AsyncCallback\<void>): void ...@@ -5312,8 +5412,9 @@ release(callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
audioRenderer.release((err) => { import { BusinessError } from '@ohos.base';
audioRenderer.release((err: BusinessError) => {
if (err) { if (err) {
console.error('Renderer release failed'); console.error('Renderer release failed');
} else { } else {
...@@ -5338,10 +5439,11 @@ release(): Promise\<void> ...@@ -5338,10 +5439,11 @@ release(): Promise\<void>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioRenderer.release().then(() => { audioRenderer.release().then(() => {
console.info('Renderer released successfully'); console.info('Renderer released successfully');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5363,26 +5465,31 @@ write(buffer: ArrayBuffer, callback: AsyncCallback\<number>): void ...@@ -5363,26 +5465,31 @@ write(buffer: ArrayBuffer, callback: AsyncCallback\<number>): void
**示例:** **示例:**
```js ```ts
let bufferSize; import { BusinessError } from '@ohos.base';
audioRenderer.getBufferSize().then((data)=> { let bufferSize: number;
class Options {
offset?: number;
length?: number;
}
audioRenderer.getBufferSize().then((data: number)=> {
console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`); console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data; bufferSize = data;
console.info(`Buffer size: ${bufferSize}`); console.info(`Buffer size: ${bufferSize}`);
let path = getContext().cacheDir; let path = getContext().cacheDir;
let filePath = path + '/StarWars10s-2C-48000-4SW.wav'; let filePath = path + '/StarWars10s-2C-48000-4SW.wav';
let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY); let file: fs.File = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
fs.stat(filePath).then(async (stat) => { fs.stat(filePath).then(async (stat: fs.Stat) => {
let buf = new ArrayBuffer(bufferSize); let buf = new ArrayBuffer(bufferSize);
let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1); let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1);
for (let i = 0;i < len; i++) { for (let i = 0;i < len; i++) {
let options = { let options: Options = {
offset: i * bufferSize, offset: i * bufferSize,
length: bufferSize length: bufferSize
} }
let readsize = await fs.read(file.fd, buf, options) let readsize: number = await fs.read(file.fd, buf, options)
let writeSize = await new Promise((resolve,reject)=>{ let writeSize: number = await new Promise((resolve,reject)=>{
audioRenderer.write(buf,(err,writeSize)=>{ audioRenderer.write(buf,(err: BusinessError, writeSize: number)=>{
if(err){ if(err){
reject(err) reject(err)
}else{ }else{
...@@ -5392,7 +5499,7 @@ audioRenderer.getBufferSize().then((data)=> { ...@@ -5392,7 +5499,7 @@ audioRenderer.getBufferSize().then((data)=> {
}) })
} }
}); });
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`); console.error(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`);
}); });
...@@ -5415,32 +5522,38 @@ write(buffer: ArrayBuffer): Promise\<number> ...@@ -5415,32 +5522,38 @@ write(buffer: ArrayBuffer): Promise\<number>
**示例:** **示例:**
```js ```ts
let bufferSize; import { BusinessError } from '@ohos.base';
audioRenderer.getBufferSize().then((data) => { let bufferSize: number;
class Options {
offset?: number;
length?: number;
}
audioRenderer.getBufferSize().then((data: number) => {
console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`); console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data; bufferSize = data;
console.info(`BufferSize: ${bufferSize}`); console.info(`BufferSize: ${bufferSize}`);
let path = getContext().cacheDir; let path = getContext().cacheDir;
let filePath = path + '/StarWars10s-2C-48000-4SW.wav'; let filePath = path + '/StarWars10s-2C-48000-4SW.wav';
let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY); let file: fs.File = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
fs.stat(filePath).then(async (stat) => { fs.stat(filePath).then(async (stat: fs.Stat) => {
let buf = new ArrayBuffer(bufferSize); let buf = new ArrayBuffer(bufferSize);
let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1); let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1);
for (let i = 0;i < len; i++) { for (let i = 0;i < len; i++) {
let options = { let options: Options = {
offset: i * bufferSize, offset: i * bufferSize,
length: bufferSize length: bufferSize
} }
let readsize = await fs.read(file.fd, buf, options) let readsize: number = await fs.read(file.fd, buf, options)
try{ try{
let writeSize = await audioRenderer.write(buf); let writeSize: number = await audioRenderer.write(buf);
} catch(err) { } catch(err) {
console.error(`audioRenderer.write err: ${err}`); let error: BusinessError = err;
console.error(`audioRenderer.write err: ${error}`);
} }
} }
}); });
}).catch((err) => { }).catch((err: BusinessError) => {
console.info(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`); console.info(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`);
}); });
``` ```
...@@ -5461,8 +5574,9 @@ getAudioTime(callback: AsyncCallback\<number>): void ...@@ -5461,8 +5574,9 @@ getAudioTime(callback: AsyncCallback\<number>): void
**示例:** **示例:**
```js ```ts
audioRenderer.getAudioTime((err, timestamp) => { import { BusinessError } from '@ohos.base';
audioRenderer.getAudioTime((err: BusinessError, timestamp: number) => {
console.info(`Current timestamp: ${timestamp}`); console.info(`Current timestamp: ${timestamp}`);
}); });
``` ```
...@@ -5483,10 +5597,11 @@ getAudioTime(): Promise\<number> ...@@ -5483,10 +5597,11 @@ getAudioTime(): Promise\<number>
**示例:** **示例:**
```js ```ts
audioRenderer.getAudioTime().then((timestamp) => { import { BusinessError } from '@ohos.base';
audioRenderer.getAudioTime().then((timestamp: number) => {
console.info(`Current timestamp: ${timestamp}`); console.info(`Current timestamp: ${timestamp}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5507,10 +5622,15 @@ getBufferSize(callback: AsyncCallback\<number>): void ...@@ -5507,10 +5622,15 @@ getBufferSize(callback: AsyncCallback\<number>): void
**示例:** **示例:**
```js ```ts
let bufferSize = audioRenderer.getBufferSize(async(err, bufferSize) => { import { BusinessError } from '@ohos.base';
let bufferSize: number;
audioRenderer.getBufferSize((err: BusinessError, data: number) => {
if (err) { if (err) {
console.error('getBufferSize error'); console.error('getBufferSize error');
} else {
console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data;
} }
}); });
``` ```
...@@ -5531,12 +5651,13 @@ getBufferSize(): Promise\<number> ...@@ -5531,12 +5651,13 @@ getBufferSize(): Promise\<number>
**示例:** **示例:**
```js ```ts
let bufferSize; import { BusinessError } from '@ohos.base';
audioRenderer.getBufferSize().then((data) => { let bufferSize: number;
audioRenderer.getBufferSize().then((data: number) => {
console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`); console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data; bufferSize = data;
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`); console.error(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`);
}); });
``` ```
...@@ -5558,8 +5679,9 @@ setRenderRate(rate: AudioRendererRate, callback: AsyncCallback\<void>): void ...@@ -5558,8 +5679,9 @@ setRenderRate(rate: AudioRendererRate, callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
audioRenderer.setRenderRate(audio.AudioRendererRate.RENDER_RATE_NORMAL, (err) => { import { BusinessError } from '@ohos.base';
audioRenderer.setRenderRate(audio.AudioRendererRate.RENDER_RATE_NORMAL, (err: BusinessError) => {
if (err) { if (err) {
console.error('Failed to set params'); console.error('Failed to set params');
} else { } else {
...@@ -5590,10 +5712,11 @@ setRenderRate(rate: AudioRendererRate): Promise\<void> ...@@ -5590,10 +5712,11 @@ setRenderRate(rate: AudioRendererRate): Promise\<void>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioRenderer.setRenderRate(audio.AudioRendererRate.RENDER_RATE_NORMAL).then(() => { audioRenderer.setRenderRate(audio.AudioRendererRate.RENDER_RATE_NORMAL).then(() => {
console.info('setRenderRate SUCCESS'); console.info('setRenderRate SUCCESS');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5614,8 +5737,9 @@ getRenderRate(callback: AsyncCallback\<AudioRendererRate>): void ...@@ -5614,8 +5737,9 @@ getRenderRate(callback: AsyncCallback\<AudioRendererRate>): void
**示例:** **示例:**
```js ```ts
audioRenderer.getRenderRate((err, renderrate) => { import { BusinessError } from '@ohos.base';
audioRenderer.getRenderRate((err: BusinessError, renderrate: audio.AudioRendererRate) => {
console.info(`getRenderRate: ${renderrate}`); console.info(`getRenderRate: ${renderrate}`);
}); });
``` ```
...@@ -5636,10 +5760,11 @@ getRenderRate(): Promise\<AudioRendererRate> ...@@ -5636,10 +5760,11 @@ getRenderRate(): Promise\<AudioRendererRate>
**示例:** **示例:**
```js ```ts
audioRenderer.getRenderRate().then((renderRate) => { import { BusinessError } from '@ohos.base';
audioRenderer.getRenderRate().then((renderRate: audio.AudioRendererRate) => {
console.info(`getRenderRate: ${renderRate}`); console.info(`getRenderRate: ${renderRate}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -5665,11 +5790,12 @@ setInterruptMode(mode: InterruptMode): Promise&lt;void&gt; ...@@ -5665,11 +5790,12 @@ setInterruptMode(mode: InterruptMode): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
let mode = 0; let mode = 0;
audioRenderer.setInterruptMode(mode).then(data=>{ audioRenderer.setInterruptMode(mode).then(() => {
console.info('setInterruptMode Success!'); console.info('setInterruptMode Success!');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`setInterruptMode Fail: ${err}`); console.error(`setInterruptMode Fail: ${err}`);
}); });
``` ```
...@@ -5690,9 +5816,10 @@ setInterruptMode(mode: InterruptMode, callback: AsyncCallback\<void>): void ...@@ -5690,9 +5816,10 @@ setInterruptMode(mode: InterruptMode, callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
let mode = 1; let mode = 1;
audioRenderer.setInterruptMode(mode, (err, data)=>{ audioRenderer.setInterruptMode(mode, (err: BusinessError) => {
if(err){ if(err){
console.error(`setInterruptMode Fail: ${err}`); console.error(`setInterruptMode Fail: ${err}`);
} }
...@@ -5722,10 +5849,11 @@ setVolume(volume: number): Promise&lt;void&gt; ...@@ -5722,10 +5849,11 @@ setVolume(volume: number): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
audioRenderer.setVolume(0.5).then(data=>{ import { BusinessError } from '@ohos.base';
audioRenderer.setVolume(0.5).then(() => {
console.info('setVolume Success!'); console.info('setVolume Success!');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`setVolume Fail: ${err}`); console.error(`setVolume Fail: ${err}`);
}); });
``` ```
...@@ -5746,8 +5874,9 @@ setVolume(volume: number, callback: AsyncCallback\<void>): void ...@@ -5746,8 +5874,9 @@ setVolume(volume: number, callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
audioRenderer.setVolume(0.5, (err, data)=>{ import { BusinessError } from '@ohos.base';
audioRenderer.setVolume(0.5, (err: BusinessError) => {
if(err){ if(err){
console.error(`setVolume Fail: ${err}`); console.error(`setVolume Fail: ${err}`);
} }
...@@ -5771,8 +5900,9 @@ getMinStreamVolume(callback: AsyncCallback&lt;number&gt;): void ...@@ -5771,8 +5900,9 @@ getMinStreamVolume(callback: AsyncCallback&lt;number&gt;): void
**示例:** **示例:**
```js ```ts
audioRenderer.getMinStreamVolume((err, minVolume) => { import { BusinessError } from '@ohos.base';
audioRenderer.getMinStreamVolume((err: BusinessError, minVolume: number) => {
if (err) { if (err) {
console.error(`getMinStreamVolume error: ${err}`); console.error(`getMinStreamVolume error: ${err}`);
} else { } else {
...@@ -5796,10 +5926,11 @@ getMinStreamVolume(): Promise&lt;number&gt; ...@@ -5796,10 +5926,11 @@ getMinStreamVolume(): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioRenderer.getMinStreamVolume().then((value) => { import { BusinessError } from '@ohos.base';
audioRenderer.getMinStreamVolume().then((value: number) => {
console.info(`Get min stream volume Success! ${value}`); console.info(`Get min stream volume Success! ${value}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get min stream volume Fail: ${err}`); console.error(`Get min stream volume Fail: ${err}`);
}); });
``` ```
...@@ -5820,8 +5951,9 @@ getMaxStreamVolume(callback: AsyncCallback&lt;number&gt;): void ...@@ -5820,8 +5951,9 @@ getMaxStreamVolume(callback: AsyncCallback&lt;number&gt;): void
**示例:** **示例:**
```js ```ts
audioRenderer.getMaxStreamVolume((err, maxVolume) => { import { BusinessError } from '@ohos.base';
audioRenderer.getMaxStreamVolume((err: BusinessError, maxVolume: number) => {
if (err) { if (err) {
console.error(`getMaxStreamVolume Fail: ${err}`); console.error(`getMaxStreamVolume Fail: ${err}`);
} else { } else {
...@@ -5845,10 +5977,11 @@ getMaxStreamVolume(): Promise&lt;number&gt; ...@@ -5845,10 +5977,11 @@ getMaxStreamVolume(): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioRenderer.getMaxStreamVolume().then((value) => { import { BusinessError } from '@ohos.base';
audioRenderer.getMaxStreamVolume().then((value: number) => {
console.info(`Get max stream volume Success! ${value}`); console.info(`Get max stream volume Success! ${value}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get max stream volume Fail: ${err}`); console.error(`Get max stream volume Fail: ${err}`);
}); });
``` ```
...@@ -5869,8 +6002,9 @@ getUnderflowCount(callback: AsyncCallback&lt;number&gt;): void ...@@ -5869,8 +6002,9 @@ getUnderflowCount(callback: AsyncCallback&lt;number&gt;): void
**示例:** **示例:**
```js ```ts
audioRenderer.getUnderflowCount((err, underflowCount) => { import { BusinessError } from '@ohos.base';
audioRenderer.getUnderflowCount((err: BusinessError, underflowCount: number) => {
if (err) { if (err) {
console.error(`getUnderflowCount Fail: ${err}`); console.error(`getUnderflowCount Fail: ${err}`);
} else { } else {
...@@ -5894,10 +6028,11 @@ getUnderflowCount(): Promise&lt;number&gt; ...@@ -5894,10 +6028,11 @@ getUnderflowCount(): Promise&lt;number&gt;
**示例:** **示例:**
```js ```ts
audioRenderer.getUnderflowCount().then((value) => { import { BusinessError } from '@ohos.base';
audioRenderer.getUnderflowCount().then((value: number) => {
console.info(`Get underflow count Success! ${value}`); console.info(`Get underflow count Success! ${value}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get underflow count Fail: ${err}`); console.error(`Get underflow count Fail: ${err}`);
}); });
``` ```
...@@ -5918,8 +6053,9 @@ getCurrentOutputDevices(callback: AsyncCallback&lt;AudioDeviceDescriptors&gt;): ...@@ -5918,8 +6053,9 @@ getCurrentOutputDevices(callback: AsyncCallback&lt;AudioDeviceDescriptors&gt;):
**示例:** **示例:**
```js ```ts
audioRenderer.getCurrentOutputDevices((err, deviceInfo) => { import { BusinessError } from '@ohos.base';
audioRenderer.getCurrentOutputDevices((err: BusinessError, deviceInfo: audio.AudioDeviceDescriptors) => {
if (err) { if (err) {
console.error(`getCurrentOutputDevices Fail: ${err}`); console.error(`getCurrentOutputDevices Fail: ${err}`);
} else { } else {
...@@ -5950,8 +6086,9 @@ getCurrentOutputDevices(): Promise&lt;AudioDeviceDescriptors&gt; ...@@ -5950,8 +6086,9 @@ getCurrentOutputDevices(): Promise&lt;AudioDeviceDescriptors&gt;
**示例:** **示例:**
```js ```ts
audioRenderer.getCurrentOutputDevices().then((deviceInfo) => { import { BusinessError } from '@ohos.base';
audioRenderer.getCurrentOutputDevices().then((deviceInfo: audio.AudioDeviceDescriptors) => {
console.info(`DeviceInfo id: ${deviceInfo[0].id}`); console.info(`DeviceInfo id: ${deviceInfo[0].id}`);
console.info(`DeviceInfo type: ${deviceInfo[0].deviceType}`); console.info(`DeviceInfo type: ${deviceInfo[0].deviceType}`);
console.info(`DeviceInfo role: ${deviceInfo[0].deviceRole}`); console.info(`DeviceInfo role: ${deviceInfo[0].deviceRole}`);
...@@ -5960,7 +6097,7 @@ audioRenderer.getCurrentOutputDevices().then((deviceInfo) => { ...@@ -5960,7 +6097,7 @@ audioRenderer.getCurrentOutputDevices().then((deviceInfo) => {
console.info(`DeviceInfo samplerates: ${deviceInfo[0].sampleRates[0]}`); console.info(`DeviceInfo samplerates: ${deviceInfo[0].sampleRates[0]}`);
console.info(`DeviceInfo channelcounts: ${deviceInfo[0].channelCounts[0]}`); console.info(`DeviceInfo channelcounts: ${deviceInfo[0].channelCounts[0]}`);
console.info(`DeviceInfo channelmask: ${deviceInfo[0].channelMasks}`); console.info(`DeviceInfo channelmask: ${deviceInfo[0].channelMasks}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get current output devices Fail: ${err}`); console.error(`Get current output devices Fail: ${err}`);
}); });
``` ```
...@@ -5992,13 +6129,15 @@ on(type: 'audioInterrupt', callback: Callback\<InterruptEvent>): void ...@@ -5992,13 +6129,15 @@ on(type: 'audioInterrupt', callback: Callback\<InterruptEvent>): void
**示例:** **示例:**
```js ```ts
let isPlaying; // 标识符,表示是否正在渲染 import audio from '@ohos.multimedia.audio';
let isDucked; // 标识符,表示是否被降低音量
let isPlaying: boolean; // 标识符,表示是否正在渲染
let isDucked: boolean; // 标识符,表示是否被降低音量
onAudioInterrupt(); onAudioInterrupt();
async function onAudioInterrupt(){ async function onAudioInterrupt(){
audioRenderer.on('audioInterrupt', async(interruptEvent) => { audioRenderer.on('audioInterrupt', (interruptEvent: audio.InterruptEvent) => {
if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) { if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) {
// 由系统进行操作,强制打断音频渲染,应用需更新自身状态及显示内容等 // 由系统进行操作,强制打断音频渲染,应用需更新自身状态及显示内容等
switch (interruptEvent.hintType) { switch (interruptEvent.hintType) {
...@@ -6080,8 +6219,8 @@ on(type: 'markReach', frame: number, callback: Callback&lt;number&gt;): void ...@@ -6080,8 +6219,8 @@ on(type: 'markReach', frame: number, callback: Callback&lt;number&gt;): void
**示例:** **示例:**
```js ```ts
audioRenderer.on('markReach', 1000, (position) => { audioRenderer.on('markReach', 1000, (position: number) => {
if (position == 1000) { if (position == 1000) {
console.info('ON Triggered successfully'); console.info('ON Triggered successfully');
} }
...@@ -6105,7 +6244,7 @@ off(type: 'markReach'): void ...@@ -6105,7 +6244,7 @@ off(type: 'markReach'): void
**示例:** **示例:**
```js ```ts
audioRenderer.off('markReach'); audioRenderer.off('markReach');
``` ```
...@@ -6127,8 +6266,8 @@ on(type: 'periodReach', frame: number, callback: Callback&lt;number&gt;): void ...@@ -6127,8 +6266,8 @@ on(type: 'periodReach', frame: number, callback: Callback&lt;number&gt;): void
**示例:** **示例:**
```js ```ts
audioRenderer.on('periodReach', 1000, (position) => { audioRenderer.on('periodReach', 1000, (position: number) => {
if (position == 1000) { if (position == 1000) {
console.info('ON Triggered successfully'); console.info('ON Triggered successfully');
} }
...@@ -6151,7 +6290,7 @@ off(type: 'periodReach'): void ...@@ -6151,7 +6290,7 @@ off(type: 'periodReach'): void
**示例:** **示例:**
```js ```ts
audioRenderer.off('periodReach') audioRenderer.off('periodReach')
``` ```
...@@ -6172,8 +6311,8 @@ on(type: 'stateChange', callback: Callback<AudioState\>): void ...@@ -6172,8 +6311,8 @@ on(type: 'stateChange', callback: Callback<AudioState\>): void
**示例:** **示例:**
```js ```ts
audioRenderer.on('stateChange', (state) => { audioRenderer.on('stateChange', (state: audio.AudioState) => {
if (state == 1) { if (state == 1) {
console.info('audio renderer state is: STATE_PREPARED'); console.info('audio renderer state is: STATE_PREPARED');
} }
...@@ -6206,8 +6345,8 @@ on(type: 'outputDeviceChange', callback: Callback\<AudioDeviceDescriptors>): voi ...@@ -6206,8 +6345,8 @@ on(type: 'outputDeviceChange', callback: Callback\<AudioDeviceDescriptors>): voi
**示例:** **示例:**
```js ```ts
audioRenderer.on('outputDeviceChange', (deviceInfo) => { audioRenderer.on('outputDeviceChange', (deviceInfo: audio.AudioDeviceDescriptors) => {
console.info(`DeviceInfo id: ${deviceInfo[0].id}`); console.info(`DeviceInfo id: ${deviceInfo[0].id}`);
console.info(`DeviceInfo name: ${deviceInfo[0].name}`); console.info(`DeviceInfo name: ${deviceInfo[0].name}`);
console.info(`DeviceInfo address: ${deviceInfo[0].address}`); console.info(`DeviceInfo address: ${deviceInfo[0].address}`);
...@@ -6236,8 +6375,8 @@ off(type: 'outputDeviceChange', callback?: Callback\<AudioDeviceDescriptors>): v ...@@ -6236,8 +6375,8 @@ off(type: 'outputDeviceChange', callback?: Callback\<AudioDeviceDescriptors>): v
**示例:** **示例:**
```js ```ts
audioRenderer.off('outputDeviceChange', (deviceInfo) => { audioRenderer.off('outputDeviceChange', (deviceInfo: audio.AudioDeviceDescriptors) => {
console.info(`DeviceInfo id: ${deviceInfo[0].id}`); console.info(`DeviceInfo id: ${deviceInfo[0].id}`);
console.info(`DeviceInfo name: ${deviceInfo[0].name}`); console.info(`DeviceInfo name: ${deviceInfo[0].name}`);
console.info(`DeviceInfo address: ${deviceInfo[0].address}`); console.info(`DeviceInfo address: ${deviceInfo[0].address}`);
...@@ -6258,8 +6397,8 @@ audioRenderer.off('outputDeviceChange', (deviceInfo) => { ...@@ -6258,8 +6397,8 @@ audioRenderer.off('outputDeviceChange', (deviceInfo) => {
**示例:** **示例:**
```js ```ts
let state = audioCapturer.state; let state: audio.AudioState = audioCapturer.state;
``` ```
### getCapturerInfo<sup>8+</sup> ### getCapturerInfo<sup>8+</sup>
...@@ -6278,8 +6417,9 @@ getCapturerInfo(callback: AsyncCallback<AudioCapturerInfo\>): void ...@@ -6278,8 +6417,9 @@ getCapturerInfo(callback: AsyncCallback<AudioCapturerInfo\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.getCapturerInfo((err, capturerInfo) => { import { BusinessError } from '@ohos.base';
audioCapturer.getCapturerInfo((err: BusinessError, capturerInfo: audio.AudioCapturerInfo) => {
if (err) { if (err) {
console.error('Failed to get capture info'); console.error('Failed to get capture info');
} else { } else {
...@@ -6307,8 +6447,9 @@ getCapturerInfo(): Promise<AudioCapturerInfo\> ...@@ -6307,8 +6447,9 @@ getCapturerInfo(): Promise<AudioCapturerInfo\>
**示例:** **示例:**
```js ```ts
audioCapturer.getCapturerInfo().then((audioParamsGet) => { import { BusinessError } from '@ohos.base';
audioCapturer.getCapturerInfo().then((audioParamsGet: audio.AudioCapturerInfo) => {
if (audioParamsGet != undefined) { if (audioParamsGet != undefined) {
console.info('AudioFrameworkRecLog: Capturer CapturerInfo:'); console.info('AudioFrameworkRecLog: Capturer CapturerInfo:');
console.info(`AudioFrameworkRecLog: Capturer SourceType: ${audioParamsGet.source}`); console.info(`AudioFrameworkRecLog: Capturer SourceType: ${audioParamsGet.source}`);
...@@ -6317,9 +6458,9 @@ audioCapturer.getCapturerInfo().then((audioParamsGet) => { ...@@ -6317,9 +6458,9 @@ audioCapturer.getCapturerInfo().then((audioParamsGet) => {
console.info(`AudioFrameworkRecLog: audioParamsGet is : ${audioParamsGet}`); console.info(`AudioFrameworkRecLog: audioParamsGet is : ${audioParamsGet}`);
console.info('AudioFrameworkRecLog: audioParams getCapturerInfo are incorrect'); console.info('AudioFrameworkRecLog: audioParams getCapturerInfo are incorrect');
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioFrameworkRecLog: CapturerInfo :ERROR: ${err}`); console.error(`AudioFrameworkRecLog: CapturerInfo :ERROR: ${err}`);
}); })
``` ```
### getStreamInfo<sup>8+</sup> ### getStreamInfo<sup>8+</sup>
...@@ -6338,8 +6479,9 @@ getStreamInfo(callback: AsyncCallback<AudioStreamInfo\>): void ...@@ -6338,8 +6479,9 @@ getStreamInfo(callback: AsyncCallback<AudioStreamInfo\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.getStreamInfo((err, streamInfo) => { import { BusinessError } from '@ohos.base';
audioCapturer.getStreamInfo((err: BusinessError, streamInfo: audio.AudioStreamInfo) => {
if (err) { if (err) {
console.error('Failed to get stream info'); console.error('Failed to get stream info');
} else { } else {
...@@ -6368,14 +6510,15 @@ getStreamInfo(): Promise<AudioStreamInfo\> ...@@ -6368,14 +6510,15 @@ getStreamInfo(): Promise<AudioStreamInfo\>
**示例:** **示例:**
```js ```ts
audioCapturer.getStreamInfo().then((audioParamsGet) => { import { BusinessError } from '@ohos.base';
audioCapturer.getStreamInfo().then((audioParamsGet: audio.AudioStreamInfo) => {
console.info('getStreamInfo:'); console.info('getStreamInfo:');
console.info(`sampleFormat: ${audioParamsGet.sampleFormat}`); console.info(`sampleFormat: ${audioParamsGet.sampleFormat}`);
console.info(`samplingRate: ${audioParamsGet.samplingRate}`); console.info(`samplingRate: ${audioParamsGet.samplingRate}`);
console.info(`channels: ${audioParamsGet.channels}`); console.info(`channels: ${audioParamsGet.channels}`);
console.info(`encodingType: ${audioParamsGet.encodingType}`); console.info(`encodingType: ${audioParamsGet.encodingType}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`getStreamInfo :ERROR: ${err}`); console.error(`getStreamInfo :ERROR: ${err}`);
}); });
``` ```
...@@ -6396,8 +6539,9 @@ getAudioStreamId(callback: AsyncCallback<number\>): void ...@@ -6396,8 +6539,9 @@ getAudioStreamId(callback: AsyncCallback<number\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.getAudioStreamId((err, streamid) => { import { BusinessError } from '@ohos.base';
audioCapturer.getAudioStreamId((err: BusinessError, streamid: number) => {
console.info(`audioCapturer GetStreamId: ${streamid}`); console.info(`audioCapturer GetStreamId: ${streamid}`);
}); });
``` ```
...@@ -6418,10 +6562,11 @@ getAudioStreamId(): Promise<number\> ...@@ -6418,10 +6562,11 @@ getAudioStreamId(): Promise<number\>
**示例:** **示例:**
```js ```ts
audioCapturer.getAudioStreamId().then((streamid) => { import { BusinessError } from '@ohos.base';
audioCapturer.getAudioStreamId().then((streamid: number) => {
console.info(`audioCapturer getAudioStreamId: ${streamid}`); console.info(`audioCapturer getAudioStreamId: ${streamid}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ERROR: ${err}`); console.error(`ERROR: ${err}`);
}); });
``` ```
...@@ -6442,8 +6587,9 @@ start(callback: AsyncCallback<void\>): void ...@@ -6442,8 +6587,9 @@ start(callback: AsyncCallback<void\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.start((err) => { import { BusinessError } from '@ohos.base';
audioCapturer.start((err: BusinessError) => {
if (err) { if (err) {
console.error('Capturer start failed.'); console.error('Capturer start failed.');
} else { } else {
...@@ -6469,7 +6615,8 @@ start(): Promise<void\> ...@@ -6469,7 +6615,8 @@ start(): Promise<void\>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioCapturer.start().then(() => { audioCapturer.start().then(() => {
console.info('AudioFrameworkRecLog: ---------START---------'); console.info('AudioFrameworkRecLog: ---------START---------');
console.info('AudioFrameworkRecLog: Capturer started: SUCCESS'); console.info('AudioFrameworkRecLog: Capturer started: SUCCESS');
...@@ -6478,7 +6625,7 @@ audioCapturer.start().then(() => { ...@@ -6478,7 +6625,7 @@ audioCapturer.start().then(() => {
if ((audioCapturer.state == audio.AudioState.STATE_RUNNING)) { if ((audioCapturer.state == audio.AudioState.STATE_RUNNING)) {
console.info('AudioFrameworkRecLog: AudioCapturer is in Running State'); console.info('AudioFrameworkRecLog: AudioCapturer is in Running State');
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.info(`AudioFrameworkRecLog: Capturer start :ERROR : ${err}`); console.info(`AudioFrameworkRecLog: Capturer start :ERROR : ${err}`);
}); });
``` ```
...@@ -6499,8 +6646,9 @@ stop(callback: AsyncCallback<void\>): void ...@@ -6499,8 +6646,9 @@ stop(callback: AsyncCallback<void\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.stop((err) => { import { BusinessError } from '@ohos.base';
audioCapturer.stop((err: BusinessError) => {
if (err) { if (err) {
console.error('Capturer stop failed'); console.error('Capturer stop failed');
} else { } else {
...@@ -6526,14 +6674,15 @@ stop(): Promise<void\> ...@@ -6526,14 +6674,15 @@ stop(): Promise<void\>
**示例:** **示例:**
```js ```ts
import { BusinessError } from '@ohos.base';
audioCapturer.stop().then(() => { audioCapturer.stop().then(() => {
console.info('AudioFrameworkRecLog: ---------STOP RECORD---------'); console.info('AudioFrameworkRecLog: ---------STOP RECORD---------');
console.info('AudioFrameworkRecLog: Capturer stopped: SUCCESS'); console.info('AudioFrameworkRecLog: Capturer stopped: SUCCESS');
if ((audioCapturer.state == audio.AudioState.STATE_STOPPED)){ if ((audioCapturer.state == audio.AudioState.STATE_STOPPED)){
console.info('AudioFrameworkRecLog: State is Stopped:'); console.info('AudioFrameworkRecLog: State is Stopped:');
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.info(`AudioFrameworkRecLog: Capturer stop: ERROR: ${err}`); console.info(`AudioFrameworkRecLog: Capturer stop: ERROR: ${err}`);
}); });
``` ```
...@@ -6554,8 +6703,9 @@ release(callback: AsyncCallback<void\>): void ...@@ -6554,8 +6703,9 @@ release(callback: AsyncCallback<void\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.release((err) => { import { BusinessError } from '@ohos.base';
audioCapturer.release((err: BusinessError) => {
if (err) { if (err) {
console.error('capturer release failed'); console.error('capturer release failed');
} else { } else {
...@@ -6581,14 +6731,13 @@ release(): Promise<void\> ...@@ -6581,14 +6731,13 @@ release(): Promise<void\>
**示例:** **示例:**
```js ```ts
let stateFlag; import { BusinessError } from '@ohos.base';
audioCapturer.release().then(() => { audioCapturer.release().then(() => {
console.info('AudioFrameworkRecLog: ---------RELEASE RECORD---------'); console.info('AudioFrameworkRecLog: ---------RELEASE RECORD---------');
console.info('AudioFrameworkRecLog: Capturer release : SUCCESS'); console.info('AudioFrameworkRecLog: Capturer release : SUCCESS');
console.info(`AudioFrameworkRecLog: AudioCapturer : STATE : ${audioCapturer.state}`); console.info(`AudioFrameworkRecLog: AudioCapturer : STATE : ${audioCapturer.state}`);
console.info(`AudioFrameworkRecLog: stateFlag : ${stateFlag}`); }).catch((err: BusinessError) => {
}).catch((err) => {
console.info(`AudioFrameworkRecLog: Capturer stop: ERROR: ${err}`); console.info(`AudioFrameworkRecLog: Capturer stop: ERROR: ${err}`);
}); });
``` ```
...@@ -6611,15 +6760,16 @@ read(size: number, isBlockingRead: boolean, callback: AsyncCallback<ArrayBuffer\ ...@@ -6611,15 +6760,16 @@ read(size: number, isBlockingRead: boolean, callback: AsyncCallback<ArrayBuffer\
**示例:** **示例:**
```js ```ts
let bufferSize; import { BusinessError } from '@ohos.base';
audioCapturer.getBufferSize().then((data) => { let bufferSize: number;
audioCapturer.getBufferSize().then((data: number) => {
console.info(`AudioFrameworkRecLog: getBufferSize: SUCCESS ${data}`); console.info(`AudioFrameworkRecLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data; bufferSize = data;
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioFrameworkRecLog: getBufferSize: ERROR: ${err}`); console.error(`AudioFrameworkRecLog: getBufferSize: ERROR: ${err}`);
}); });
audioCapturer.read(bufferSize, true, async(err, buffer) => { audioCapturer.read(bufferSize, true, (err: BusinessError, buffer: number) => {
if (!err) { if (!err) {
console.info('Success in reading the buffer data'); console.info('Success in reading the buffer data');
} }
...@@ -6649,18 +6799,19 @@ read(size: number, isBlockingRead: boolean): Promise<ArrayBuffer\> ...@@ -6649,18 +6799,19 @@ read(size: number, isBlockingRead: boolean): Promise<ArrayBuffer\>
**示例:** **示例:**
```js ```ts
let bufferSize; import { BusinessError } from '@ohos.base';
audioCapturer.getBufferSize().then((data) => { let bufferSize: number;
audioCapturer.getBufferSize().then((data: number) => {
console.info(`AudioFrameworkRecLog: getBufferSize: SUCCESS ${data}`); console.info(`AudioFrameworkRecLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data; bufferSize = data;
}).catch((err) => { }).catch((err: BusinessError) => {
console.info(`AudioFrameworkRecLog: getBufferSize: ERROR ${err}`); console.info(`AudioFrameworkRecLog: getBufferSize: ERROR ${err}`);
}); });
console.info(`Buffer size: ${bufferSize}`); console.info(`Buffer size: ${bufferSize}`);
audioCapturer.read(bufferSize, true).then((buffer) => { audioCapturer.read(bufferSize, true).then((buffer: number) => {
console.info('buffer read successfully'); console.info('buffer read successfully');
}).catch((err) => { }).catch((err: BusinessError) => {
console.info(`ERROR : ${err}`); console.info(`ERROR : ${err}`);
}); });
``` ```
...@@ -6681,8 +6832,9 @@ getAudioTime(callback: AsyncCallback<number\>): void ...@@ -6681,8 +6832,9 @@ getAudioTime(callback: AsyncCallback<number\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.getAudioTime((err, timestamp) => { import { BusinessError } from '@ohos.base';
audioCapturer.getAudioTime((err: BusinessError, timestamp: number) => {
console.info(`Current timestamp: ${timestamp}`); console.info(`Current timestamp: ${timestamp}`);
}); });
``` ```
...@@ -6703,10 +6855,11 @@ getAudioTime(): Promise<number\> ...@@ -6703,10 +6855,11 @@ getAudioTime(): Promise<number\>
**示例:** **示例:**
```js ```ts
audioCapturer.getAudioTime().then((audioTime) => { import { BusinessError } from '@ohos.base';
audioCapturer.getAudioTime().then((audioTime: number) => {
console.info(`AudioFrameworkRecLog: AudioCapturer getAudioTime : Success ${audioTime}`); console.info(`AudioFrameworkRecLog: AudioCapturer getAudioTime : Success ${audioTime}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.info(`AudioFrameworkRecLog: AudioCapturer Created : ERROR : ${err}`); console.info(`AudioFrameworkRecLog: AudioCapturer Created : ERROR : ${err}`);
}); });
``` ```
...@@ -6727,13 +6880,14 @@ getBufferSize(callback: AsyncCallback<number\>): void ...@@ -6727,13 +6880,14 @@ getBufferSize(callback: AsyncCallback<number\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.getBufferSize((err, bufferSize) => { import { BusinessError } from '@ohos.base';
audioCapturer.getBufferSize((err: BusinessError, bufferSize: number) => {
if (!err) { if (!err) {
console.info(`BufferSize : ${bufferSize}`); console.info(`BufferSize : ${bufferSize}`);
audioCapturer.read(bufferSize, true).then((buffer) => { audioCapturer.read(bufferSize, true).then((buffer: number) => {
console.info(`Buffer read is ${buffer}`); console.info(`Buffer read is ${buffer}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`AudioFrameworkRecLog: AudioCapturer Created : ERROR : ${err}`); console.error(`AudioFrameworkRecLog: AudioCapturer Created : ERROR : ${err}`);
}); });
} }
...@@ -6756,12 +6910,13 @@ getBufferSize(): Promise<number\> ...@@ -6756,12 +6910,13 @@ getBufferSize(): Promise<number\>
**示例:** **示例:**
```js ```ts
let bufferSize; import { BusinessError } from '@ohos.base';
audioCapturer.getBufferSize().then((data) => { let bufferSize: number;
audioCapturer.getBufferSize().then((data: number) => {
console.info(`AudioFrameworkRecLog: getBufferSize :SUCCESS ${data}`); console.info(`AudioFrameworkRecLog: getBufferSize :SUCCESS ${data}`);
bufferSize = data; bufferSize = data;
}).catch((err) => { }).catch((err: BusinessError) => {
console.info(`AudioFrameworkRecLog: getBufferSize :ERROR : ${err}`); console.info(`AudioFrameworkRecLog: getBufferSize :ERROR : ${err}`);
}); });
``` ```
...@@ -6793,12 +6948,13 @@ on(type: 'audioInterrupt', callback: Callback\<InterruptEvent>): void ...@@ -6793,12 +6948,13 @@ on(type: 'audioInterrupt', callback: Callback\<InterruptEvent>): void
**示例:** **示例:**
```js ```ts
let isCapturing; // 标识符,表示是否正在采集 import audio from '@ohos.multimedia.audio';
let isCapturing: boolean; // 标识符,表示是否正在采集
onAudioInterrupt(); onAudioInterrupt();
async function onAudioInterrupt(){ async function onAudioInterrupt(){
audioCapturer.on('audioInterrupt', async(interruptEvent) => { audioCapturer.on('audioInterrupt', (interruptEvent: audio.InterruptEvent) => {
if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) { if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) {
// 由系统进行操作,强制打断音频采集,应用需更新自身状态及显示内容等 // 由系统进行操作,强制打断音频采集,应用需更新自身状态及显示内容等
switch (interruptEvent.hintType) { switch (interruptEvent.hintType) {
...@@ -6866,7 +7022,7 @@ off(type: 'audioInterrupt'): void ...@@ -6866,7 +7022,7 @@ off(type: 'audioInterrupt'): void
**示例:** **示例:**
```js ```ts
audioCapturer.off('audioInterrupt'); audioCapturer.off('audioInterrupt');
``` ```
...@@ -6889,8 +7045,8 @@ on(type: 'markReach', frame: number, callback: Callback&lt;number&gt;): void ...@@ -6889,8 +7045,8 @@ on(type: 'markReach', frame: number, callback: Callback&lt;number&gt;): void
**示例:** **示例:**
```js ```ts
audioCapturer.on('markReach', 1000, (position) => { audioCapturer.on('markReach', 1000, (position: number) => {
if (position == 1000) { if (position == 1000) {
console.info('ON Triggered successfully'); console.info('ON Triggered successfully');
} }
...@@ -6913,7 +7069,7 @@ off(type: 'markReach'): void ...@@ -6913,7 +7069,7 @@ off(type: 'markReach'): void
**示例:** **示例:**
```js ```ts
audioCapturer.off('markReach'); audioCapturer.off('markReach');
``` ```
...@@ -6935,8 +7091,8 @@ on(type: 'periodReach', frame: number, callback: Callback&lt;number&gt;): void ...@@ -6935,8 +7091,8 @@ on(type: 'periodReach', frame: number, callback: Callback&lt;number&gt;): void
**示例:** **示例:**
```js ```ts
audioCapturer.on('periodReach', 1000, (position) => { audioCapturer.on('periodReach', 1000, (position: number) => {
if (position == 1000) { if (position == 1000) {
console.info('ON Triggered successfully'); console.info('ON Triggered successfully');
} }
...@@ -6959,7 +7115,7 @@ off(type: 'periodReach'): void ...@@ -6959,7 +7115,7 @@ off(type: 'periodReach'): void
**示例:** **示例:**
```js ```ts
audioCapturer.off('periodReach') audioCapturer.off('periodReach')
``` ```
...@@ -6980,8 +7136,8 @@ on(type: 'stateChange', callback: Callback<AudioState\>): void ...@@ -6980,8 +7136,8 @@ on(type: 'stateChange', callback: Callback<AudioState\>): void
**示例:** **示例:**
```js ```ts
audioCapturer.on('stateChange', (state) => { audioCapturer.on('stateChange', (state: audio.AudioState) => {
if (state == 1) { if (state == 1) {
console.info('audio capturer state is: STATE_PREPARED'); console.info('audio capturer state is: STATE_PREPARED');
} }
...@@ -7054,8 +7210,9 @@ load(type: ToneType, callback: AsyncCallback&lt;void&gt;): void ...@@ -7054,8 +7210,9 @@ load(type: ToneType, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
tonePlayer.load(audio.ToneType.TONE_TYPE_DIAL_5, (err) => { import { BusinessError } from '@ohos.base';
tonePlayer.load(audio.ToneType.TONE_TYPE_DIAL_5, (err: BusinessError) => {
if (err) { if (err) {
console.error(`callback call load failed error: ${err.message}`); console.error(`callback call load failed error: ${err.message}`);
return; return;
...@@ -7089,7 +7246,7 @@ load(type: ToneType): Promise&lt;void&gt; ...@@ -7089,7 +7246,7 @@ load(type: ToneType): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
tonePlayer.load(audio.ToneType.TONE_TYPE_DIAL_1).then(() => { tonePlayer.load(audio.ToneType.TONE_TYPE_DIAL_1).then(() => {
console.info('promise call load '); console.info('promise call load ');
}).catch(() => { }).catch(() => {
...@@ -7115,8 +7272,9 @@ start(callback: AsyncCallback&lt;void&gt;): void ...@@ -7115,8 +7272,9 @@ start(callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
tonePlayer.start((err) => { import { BusinessError } from '@ohos.base';
tonePlayer.start((err: BusinessError) => {
if (err) { if (err) {
console.error(`callback call start failed error: ${err.message}`); console.error(`callback call start failed error: ${err.message}`);
return; return;
...@@ -7144,7 +7302,7 @@ start(): Promise&lt;void&gt; ...@@ -7144,7 +7302,7 @@ start(): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
tonePlayer.start().then(() => { tonePlayer.start().then(() => {
console.info('promise call start'); console.info('promise call start');
}).catch(() => { }).catch(() => {
...@@ -7170,8 +7328,9 @@ stop(callback: AsyncCallback&lt;void&gt;): void ...@@ -7170,8 +7328,9 @@ stop(callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
tonePlayer.stop((err) => { import { BusinessError } from '@ohos.base';
tonePlayer.stop((err: BusinessError) => {
if (err) { if (err) {
console.error(`callback call stop error: ${err.message}`); console.error(`callback call stop error: ${err.message}`);
return; return;
...@@ -7199,7 +7358,7 @@ stop(): Promise&lt;void&gt; ...@@ -7199,7 +7358,7 @@ stop(): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
tonePlayer.stop().then(() => { tonePlayer.stop().then(() => {
console.info('promise call stop finish'); console.info('promise call stop finish');
}).catch(() => { }).catch(() => {
...@@ -7225,8 +7384,9 @@ release(callback: AsyncCallback&lt;void&gt;): void ...@@ -7225,8 +7384,9 @@ release(callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```js ```ts
tonePlayer.release((err) => { import { BusinessError } from '@ohos.base';
tonePlayer.release((err: BusinessError) => {
if (err) { if (err) {
console.error(`callback call release failed error: ${err.message}`); console.error(`callback call release failed error: ${err.message}`);
return; return;
...@@ -7254,7 +7414,7 @@ release(): Promise&lt;void&gt; ...@@ -7254,7 +7414,7 @@ release(): Promise&lt;void&gt;
**示例:** **示例:**
```js ```ts
tonePlayer.release().then(() => { tonePlayer.release().then(() => {
console.info('promise call release'); console.info('promise call release');
}).catch(() => { }).catch(() => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册