diff --git a/zh-cn/application-dev/reference/apis/js-apis-audio.md b/zh-cn/application-dev/reference/apis/js-apis-audio.md
index 6ec8269b03215320d5c0dbdf5a1321184dd72212..01feb6e73e3086a06d26ef562aa93a51784960d3 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-audio.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-audio.md
@@ -24,7 +24,7 @@ import audio from '@ohos.multimedia.audio';
| --------------------------------------- | ----------| ---- | ---- | ------------------ |
| LOCAL_NETWORK_ID9+ | string | 是 | 否 | 本地设备网络id。
此接口为系统接口。
**系统能力:** SystemCapability.Multimedia.Audio.Device |
| DEFAULT_VOLUME_GROUP_ID9+ | number | 是 | 否 | 默认音量组id。
**系统能力:** SystemCapability.Multimedia.Audio.Volume |
-| DEFAULT_INTERRUPT_GROUP_ID9+ | number | 是 | 否 | 默认音频中断组id。
**系统能力:** SystemCapability.Multimedia.Audio.Interrupt |
+| DEFAULT_INTERRUPT_GROUP_ID9+ | number | 是 | 否 | 默认音频中断组id。
**系统能力:** SystemCapability.Multimedia.Audio.Interrupt |
**示例:**
@@ -73,7 +73,10 @@ createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback\
**示例:**
```js
+import featureAbility from '@ohos.ability.featureAbility';
+import fileio from '@ohos.fileio';
import audio from '@ohos.multimedia.audio';
let audioStreamInfo = {
@@ -321,14 +326,19 @@ createTonePlayer(options: AudioRendererInfo): Promise<TonePlayer>
```js
import audio from '@ohos.multimedia.audio';
+let tonePlayer;
async function createTonePlayer(){
let audioRendererInfo = {
- "contentType": audio.ContentType.CONTENT_TYPE_MUSIC,
- "streamUsage": audio.StreamUsage.STREAM_USAGE_MEDIA,
- "rendererFlags": 0
+ contentType : audio.ContentType.CONTENT_TYPE_MUSIC,
+ streamUsage : audio.StreamUsage.STREAM_USAGE_MEDIA,
+ rendererFlags : 0
}
- let tonePlayer = await audio.createTonePlayer(audioRendererInfo);
+ createTonePlayer();
+}
+async function createTonePlayer(){
+ tonePlayer = await audio.createTonePlayer(audioRendererInfo);
}
+
```
## AudioVolumeType
@@ -622,12 +632,12 @@ async function createTonePlayer(){
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Core
-| 名称 | 类型 | 必填 | 说明 |
-| ------------ | ------------------------------------------------- | ---- | ------------------ |
-| samplingRate | [AudioSamplingRate](#audiosamplingrate8) | 是 | 音频文件的采样率。 |
-| channels | [AudioChannel](#audiochannel8) | 是 | 音频文件的通道数。 |
-| sampleFormat | [AudioSampleFormat](#audiosampleformat8) | 是 | 音频采样格式。 |
-| encodingType | [AudioEncodingType](#audioencodingtype8) | 是 | 音频编码格式。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ------------ | ------------------------------------------------- | ---- | ---- | ------------------ |
+| samplingRate | [AudioSamplingRate](#audiosamplingrate8) | 是 | 是 | 音频文件的采样率。 |
+| channels | [AudioChannel](#audiochannel8) | 是 | 是 | 音频文件的通道数。 |
+| sampleFormat | [AudioSampleFormat](#audiosampleformat8) | 是 | 是 | 音频采样格式。 |
+| encodingType | [AudioEncodingType](#audioencodingtype8) | 是 | 是 | 音频编码格式。 |
## AudioRendererInfo8+
@@ -635,11 +645,11 @@ async function createTonePlayer(){
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Core
-| 名称 | 类型 | 必填 | 说明 |
-| ------------- | --------------------------- | ---- | ---------------- |
-| content | [ContentType](#contenttype) | 是 | 媒体类型。 |
-| usage | [StreamUsage](#streamusage) | 是 | 音频流使用类型。 |
-| rendererFlags | number | 是 | 音频渲染器标志。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ------------- | --------------------------- | ---- | ---- | ---------------- |
+| content | [ContentType](#contenttype) | 是 | 是 | 媒体类型。 |
+| usage | [StreamUsage](#streamusage) | 是 | 是 | 音频流使用类型。 |
+| rendererFlags | number | 是 | 是 | 音频渲染器标志。 |
## InterruptResult9+
@@ -649,10 +659,10 @@ async function createTonePlayer(){
**系统接口:** 该接口为系统接口
-| 名称 | 类型 | 必填 | 说明 |
-| --------------| -------------------------------------------------------------- | ---- | ---------------- |
-| requestResult | [InterruptRequestResultType](#interruptrequestresulttype9) | 是 | 表示音频请求中断类型。 |
-| interruptNode | number | 是 | 音频请求中断的节点。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| --------------| -------------------------------------------------------------- | ---- | ---- | ---------------- |
+| requestResult | [InterruptRequestResultType](#interruptrequestresulttype9) | 是 | 是 | 表示音频请求中断类型。 |
+| interruptNode | number | 是 | 是 | 音频请求中断的节点。 |
## AudioRendererOptions8+
@@ -660,10 +670,10 @@ async function createTonePlayer(){
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
-| 名称 | 类型 | 必填 | 说明 |
-| ------------ | ---------------------------------------- | ---- | ---------------- |
-| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | 是 | 表示音频流信息。 |
-| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 是 | 表示渲染器信息。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ------------ | ---------------------------------------- | ---- | ---- | ---------------- |
+| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | 是 | 是 | 表示音频流信息。 |
+| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 是 | 是 | 表示渲染器信息。 |
## InterruptEvent9+
@@ -671,11 +681,11 @@ async function createTonePlayer(){
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
-| 名称 | 类型 | 必填 | 说明 |
-| --------- | ------------------------------------------ | ---- | ------------------------------------ |
-| eventType | [InterruptType](#interrupttype) | 是 | 中断事件类型,开始或是结束。 |
-| forceType | [InterruptForceType](#interruptforcetype9) | 是 | 操作是由系统执行或是由应用程序执行。 |
-| hintType | [InterruptHint](#interrupthint) | 是 | 中断提示。 |
+| 名称 | 类型 |可读 |可写 | 说明 |
+| --------- | ------------------------------------------ | ---- | ---- | ------------------------------------ |
+| eventType | [InterruptType](#interrupttype) | 是 | 是 | 中断事件类型,开始或是结束。 |
+| forceType | [InterruptForceType](#interruptforcetype9) | 是 | 是 | 操作是由系统执行或是由应用程序执行。 |
+| hintType | [InterruptHint](#interrupthint) | 是 | 是 | 中断提示。 |
## VolumeEvent8+
@@ -685,13 +695,13 @@ async function createTonePlayer(){
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Volume
-| 名称 | 类型 | 必填 | 说明 |
-| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
-| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 音量流类型。 |
-| volume | number | 是 | 音量等级,可设置范围通过getMinVolume和getMaxVolume获取。 |
-| updateUi | boolean | 是 | 在UI中显示音量变化。 |
-| volumeGroupId9+ | number | 是 | 音量组id。可用于getGroupManager入参 |
-| networkId9+ | string | 是 | 网络id。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ---------- | ----------------------------------- | ---- | ---- | -------------------------------------------------------- |
+| volumeType | [AudioVolumeType](#audiovolumetype) | 是 | 是 | 音量流类型。 |
+| volume | number | 是 | 是 | 音量等级,可设置范围通过getMinVolume和getMaxVolume获取。 |
+| updateUi | boolean | 是 | 是 | 在UI中显示音量变化。 |
+| volumeGroupId9+ | number | 是 | 是 | 音量组id。可用于getGroupManager入参 |
+| networkId9+ | string | 是 | 是 | 网络id。 |
## MicStateChangeEvent9+
@@ -699,9 +709,9 @@ async function createTonePlayer(){
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Device
-| 名称 | 类型 | 必填 | 说明 |
-| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
-| mute | boolean | 是 | 回调返回系统麦克风静音状态,true为静音,false为非静音。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ---------- | ----------------------------------- | ---- | ---- | -------------------------------------------------------- |
+| mute | boolean | 是 | 是 | 回调返回系统麦克风静音状态,true为静音,false为非静音。 |
## ConnectType9+
@@ -746,10 +756,10 @@ async function createTonePlayer(){
**系统能力:** SystemCapability.Multimedia.Audio.Device
-| 名称 | 类型 | 必填 | 说明 |
-| :---------------- | :------------------------------------------------ | :--- | :----------------- |
-| type | [DeviceChangeType](#devicechangetype) | 是 | 设备连接状态变化。 |
-| deviceDescriptors | [AudioDeviceDescriptors](#audiodevicedescriptors) | 是 | 设备信息。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| :---------------- | :------------------------------------------------ | :--- | :--- | :----------------- |
+| type | [DeviceChangeType](#devicechangetype) | 是 | 是 | 设备连接状态变化。 |
+| deviceDescriptors | [AudioDeviceDescriptors](#audiodevicedescriptors) | 是 | 是 | 设备信息。 |
## DeviceChangeType
@@ -768,10 +778,10 @@ async function createTonePlayer(){
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Capturer
-| 名称 | 类型 | 必填 | 说明 |
-| ------------ | --------------------------------------- | ---- | ---------------- |
-| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | 是 | 表示音频流信息。 |
-| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo) | 是 | 表示采集器信息。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ------------ | --------------------------------------- | ---- | ---- | ---------------- |
+| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | 是 | 是 | 表示音频流信息。 |
+| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo) | 是 | 是 | 表示采集器信息。 |
## AudioCapturerInfo8+
@@ -1211,8 +1221,13 @@ getVolumeGroupManager(groupId: number\): Promise
```js
let groupid = audio.DEFAULT_VOLUME_GROUP_ID;
-let audioVolumeGroupManager = await audioVolumeManager.getVolumeGroupManager(groupid);
-console.info('Callback invoked to indicate that the volume group infos list is obtained.');
+let audioVolumeGroupManager;
+getVolumeGroupManager();
+async function getVolumeGroupManager(){
+ audioVolumeGroupManager = await audioVolumeManager.getVolumeGroupManager(groupid);
+ console.info('Callback invoked to indicate that the volume group infos list is obtained.');
+}
+
```
### on('volumeChange')9+
@@ -2859,7 +2874,7 @@ audioStreamManager.on('audioRendererChange', (AudioRendererChangeInfoArray) =>
| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- |
| streamId | number | 是 | 否 | 音频流唯一id。 |
| clientUid | number | 是 | 否 | 音频采集器客户端应用程序的Uid。
此接口为系统接口。 |
-| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo8) | 是 | 否 | 音频采集器信息。 |
+| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo8) | 是 | 否 | 音频采集器信息。 |
| capturerState | [AudioState](#audiostate) | 是 | 否 | 音频状态。
此接口为系统接口。|
**示例:**
@@ -2960,11 +2975,11 @@ promise.then(function (value) {
**系统接口:** 该接口为系统接口
-| 名称 | 类型 | 必填 | 说明 |
-| -------------| ---------------------------------------- | ---- | -------------- |
-| uid | number | 是 | 表示应用ID。
**系统能力:** SystemCapability.Multimedia.Audio.Core|
-| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 否 | 表示渲染器信息。
**系统能力:** SystemCapability.Multimedia.Audio.Renderer|
-| rendererId | number | 否 | 音频流唯一id。
**系统能力:** SystemCapability.Multimedia.Audio.Renderer|
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| -------------| ---------------------------------------- | ---- | ----| -------------- |
+| uid | number | 是 | 是 | 表示应用ID。
**系统能力:** SystemCapability.Multimedia.Audio.Core|
+| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 是 | 是 | 表示渲染器信息。
**系统能力:** SystemCapability.Multimedia.Audio.Renderer|
+| rendererId | number | 是 | 是 | 音频流唯一id。
**系统能力:** SystemCapability.Multimedia.Audio.Renderer|
**示例:**
@@ -3827,49 +3842,53 @@ on(type: 'audioInterrupt', callback: Callback\): void
```js
let isPlay;
let started;
-audioRenderer.on('audioInterrupt', async(interruptEvent) => {
- if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) {
- switch (interruptEvent.hintType) {
- case audio.InterruptHint.INTERRUPT_HINT_PAUSE:
- console.info('Force paused. Stop writing');
- isPlay = false;
- break;
- case audio.InterruptHint.INTERRUPT_HINT_STOP:
- console.info('Force stopped. Stop writing');
- isPlay = false;
- break;
- }
- } else if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_SHARE) {
- switch (interruptEvent.hintType) {
- case audio.InterruptHint.INTERRUPT_HINT_RESUME:
- console.info('Resume force paused renderer or ignore');
- await audioRenderer.start().then(async function () {
- console.info('AudioInterruptMusic: renderInstant started :SUCCESS ');
- started = true;
- }).catch((err) => {
- console.error(`AudioInterruptMusic: renderInstant start :ERROR : ${err}`);
- started = false;
- });
- if (started) {
- isPlay = true;
- console.info(`AudioInterruptMusic Renderer started : isPlay : ${isPlay}`);
- } else {
- console.error('AudioInterruptMusic Renderer start failed');
- }
- break;
- case audio.InterruptHint.INTERRUPT_HINT_PAUSE:
- console.info('Choose to pause or ignore');
- if (isPlay == true) {
- isPlay == false;
- console.info('AudioInterruptMusic: Media PAUSE : TRUE');
- } else {
- isPlay = true;
- console.info('AudioInterruptMusic: Media PLAY : TRUE');
- }
- break;
- }
- }
-});
+onAudioInterrupt();
+
+async function onAudioInterrupt(){
+ audioRenderer.on('audioInterrupt', async(interruptEvent) => {
+ if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) {
+ switch (interruptEvent.hintType) {
+ case audio.InterruptHint.INTERRUPT_HINT_PAUSE:
+ console.info('Force paused. Stop writing');
+ isPlay = false;
+ break;
+ case audio.InterruptHint.INTERRUPT_HINT_STOP:
+ console.info('Force stopped. Stop writing');
+ isPlay = false;
+ break;
+ }
+ } else if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_SHARE) {
+ switch (interruptEvent.hintType) {
+ case audio.InterruptHint.INTERRUPT_HINT_RESUME:
+ console.info('Resume force paused renderer or ignore');
+ await audioRenderer.start().then(async function () {
+ console.info('AudioInterruptMusic: renderInstant started :SUCCESS ');
+ started = true;
+ }).catch((err) => {
+ console.error(`AudioInterruptMusic: renderInstant start :ERROR : ${err}`);
+ started = false;
+ });
+ if (started) {
+ isPlay = true;
+ console.info(`AudioInterruptMusic Renderer started : isPlay : ${isPlay}`);
+ } else {
+ console.error('AudioInterruptMusic Renderer start failed');
+ }
+ break;
+ case audio.InterruptHint.INTERRUPT_HINT_PAUSE:
+ console.info('Choose to pause or ignore');
+ if (isPlay == true) {
+ isPlay == false;
+ console.info('AudioInterruptMusic: Media PAUSE : TRUE');
+ } else {
+ isPlay = true;
+ console.info('AudioInterruptMusic: Media PLAY : TRUE');
+ }
+ break;
+ }
+ }
+ });
+}
```
### on('markReach')8+
@@ -4685,6 +4704,8 @@ load(type: ToneType, callback: AsyncCallback<void>): void
加载DTMF音调配置。使用callback方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**参数:**
@@ -4713,6 +4734,8 @@ load(type: ToneType): Promise<void>
加载DTMF音调配置。使用Promise方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**参数:**
@@ -4743,6 +4766,8 @@ start(callback: AsyncCallback<void>): void
启动DTMF音调播放。使用callback方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**参数:**
@@ -4770,6 +4795,8 @@ start(): Promise<void>
启动DTMF音调播放。使用Promise方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**返回值:**
@@ -4794,6 +4821,8 @@ stop(callback: AsyncCallback<void>): void
停止当前正在播放的音调。使用callback方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**参数:**
@@ -4821,6 +4850,8 @@ stop(): Promise<void>
停止当前正在播放的音调。使用Promise方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**返回值:**
@@ -4845,6 +4876,8 @@ release(callback: AsyncCallback<void>): void
释放与此TonePlay对象关联的资源。使用callback方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**参数:**
@@ -4872,6 +4905,8 @@ release(): Promise<void>
释放与此TonePlay对象关联的资源。使用Promise方式异步返回结果。
+**系统接口:** 该接口为系统接口
+
**系统能力:** SystemCapability.Multimedia.Audio.Tone
**返回值:**
@@ -4927,11 +4962,11 @@ tonePlayer.release().then(() => {
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
-| 名称 | 类型 | 必填 | 说明 |
-| --------------- | --------------------------- | ---- | ------------------------------------------------------------ |
-| streamUsage | [StreamUsage](#streamusage) | 是 | 音频流使用类型。 |
-| contentType | [ContentType](#contenttype) | 是 | 音频打断媒体类型。 |
-| pauseWhenDucked | boolean | 是 | 音频打断时是否可以暂停音频播放(true表示音频播放可以在音频打断期间暂停,false表示相反)。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| --------------- | --------------------------- | ---- | ---- | ------------------------------------------------------------ |
+| streamUsage | [StreamUsage](#streamusage) | 是 | 是 | 音频流使用类型。 |
+| contentType | [ContentType](#contenttype) | 是 | 是 | 音频打断媒体类型。 |
+| pauseWhenDucked | boolean | 是 | 是 | 音频打断时是否可以暂停音频播放(true表示音频播放可以在音频打断期间暂停,false表示相反)。 |
## InterruptAction(deprecated)
@@ -4942,12 +4977,12 @@ tonePlayer.release().then(() => {
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
-| 名称 | 类型 | 必填 | 说明 |
-| ---------- | ------------------------------------------- | ---- | ------------------------------------------------------------ |
-| actionType | [InterruptActionType](#interruptactiontype) | 是 | 事件返回类型。TYPE_ACTIVATED为焦点触发事件,TYPE_INTERRUPT为音频打断事件。 |
-| type | [InterruptType](#interrupttype) | 否 | 打断事件类型。 |
-| hint | [InterruptHint](#interrupthint) | 否 | 打断事件提示。 |
-| activated | boolean | 否 | 获得/释放焦点。true表示焦点获取/释放成功,false表示焦点获得/释放失败。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ---------- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ |
+| actionType | [InterruptActionType](#interruptactiontype) | 是 | 是 | 事件返回类型。TYPE_ACTIVATED为焦点触发事件,TYPE_INTERRUPT为音频打断事件。 |
+| type | [InterruptType](#interrupttype) | 否 | 是 | 打断事件类型。 |
+| hint | [InterruptHint](#interrupthint) | 否 | 是 | 打断事件提示。 |
+| activated | boolean | 否 | 是 | 获得/释放焦点。true表示焦点获取/释放成功,false表示焦点获得/释放失败。 |
### setVolume(deprecated)